From 15244a9934816b0cd7536b57942e173c60f6c3aa Mon Sep 17 00:00:00 2001 From: Will Rossiter Date: Fri, 1 Jul 2011 13:19:35 +1200 Subject: [PATCH] ENHANCEMENT: rolled out basic versioning support. --- LICENSE | 0 code/DocumentationParser.php | 6 +- code/DocumentationPermalinks.php | 0 code/DocumentationSearch.php | 5 +- code/DocumentationService.php | 57 +++-- .../{ => controllers}/DocumentationViewer.php | 234 +++++++++++------- code/{ => models}/DocumentationEntity.php | 31 +-- code/{ => models}/DocumentationPage.php | 32 ++- code/tasks/RebuildLuceneDocsIndex.php | 0 css/DocumentationViewer.css | 0 docs/_manifest_exclude | 0 docs/en/Configuration-Options.md | 0 docs/en/Writing-Documentation.md | 0 docs/en/index.md | 0 javascript/DocumentationViewer.js | 0 javascript/shBrushSS.js | 0 templates/DocFolderListing.ss | 0 templates/DocumentationViewer.ss | 0 templates/Includes/DocBreadcrumbs.ss | 0 templates/Includes/DocInThisModule.ss | 0 templates/Includes/DocNotFound.ss | 48 ++-- templates/Includes/DocTableOfContents.ss | 0 templates/Layout/DocumentationViewer.ss | 0 .../Layout/DocumentationViewer_folder.ss | 15 +- .../Layout/DocumentationViewer_results.ss | 3 +- templates/OpenSearchDescription.ss | 0 templates/OpenSearchResults.ss | 0 tests/DocumentTests.yml | 0 tests/DocumentationEntityTest.php | 14 +- tests/DocumentationPageTest.php | 18 +- tests/DocumentationParserTest.php | 0 tests/DocumentationPermalinksTest.php | 0 tests/DocumentationSearchTest.php | 0 tests/DocumentationServiceTest.php | 0 tests/DocumentationViewerTest.php | 149 ++++++----- tests/docs-3/en/empty.md | 0 tests/docs-parser/en/CodeSnippets.md | 0 tests/docs-parser/en/MetaDataTest.md | 0 tests/docs-recursive/en/TestFile.md | 0 tests/docs-recursive/en/index.md | 0 .../en/subfolder-2/SubFolder-TestFile.md | 0 .../subsubfolder/SubSubFolder-TestFile.md | 0 .../en/subfolder-2/subsubfolder/index.md | 0 tests/docs-recursive/en/subfolder/index.md | 0 tests/docs-search/en/index.md | 0 tests/docs-search/en/query-in-content.md | 0 tests/docs-search/en/query-search.md | 0 .../en/subfolder/foo-folder/third-foo.md | 0 tests/docs-search/en/subfolder/foo.md | 0 tests/{docs-2 => docs-v2.4}/en/index.md | 0 tests/{docs-2 => docs-v2.4}/en/test.md | 0 tests/docs-v3.0/en/empty.md | 1 + tests/docs/de/index.md | 0 tests/docs/de/test.md | 0 tests/docs/en/index.md | 0 tests/docs/en/sort/1-basic.md | 0 tests/docs/en/sort/10-some-page.md | 0 tests/docs/en/sort/2-intermediate.md | 0 tests/docs/en/sort/21-another-page.md | 0 tests/docs/en/sort/3-advanced.md | 0 tests/docs/en/subfolder/subpage.md | 0 .../en/subfolder/subsubfolder/subsubpage.md | 0 tests/docs/en/test.md | 0 thirdparty/Zend/Search/Exception.php | 0 thirdparty/Zend/Search/Lucene.php | 0 .../Zend/Search/Lucene/Analysis/Analyzer.php | 0 .../Lucene/Analysis/Analyzer/Common.php | 0 .../Lucene/Analysis/Analyzer/Common/Text.php | 0 .../Analyzer/Common/Text/CaseInsensitive.php | 0 .../Analysis/Analyzer/Common/TextNum.php | 0 .../Common/TextNum/CaseInsensitive.php | 0 .../Lucene/Analysis/Analyzer/Common/Utf8.php | 0 .../Analyzer/Common/Utf8/CaseInsensitive.php | 0 .../Analysis/Analyzer/Common/Utf8Num.php | 0 .../Common/Utf8Num/CaseInsensitive.php | 0 .../Zend/Search/Lucene/Analysis/Token.php | 0 .../Search/Lucene/Analysis/TokenFilter.php | 0 .../Lucene/Analysis/TokenFilter/LowerCase.php | 0 .../Analysis/TokenFilter/LowerCaseUtf8.php | 0 .../Analysis/TokenFilter/ShortWords.php | 0 .../Lucene/Analysis/TokenFilter/StopWords.php | 0 thirdparty/Zend/Search/Lucene/Document.php | 0 .../Zend/Search/Lucene/Document/Docx.php | 0 .../Zend/Search/Lucene/Document/Exception.php | 0 .../Zend/Search/Lucene/Document/Html.php | 0 .../Zend/Search/Lucene/Document/OpenXml.php | 0 .../Zend/Search/Lucene/Document/Pptx.php | 0 .../Zend/Search/Lucene/Document/Xlsx.php | 0 thirdparty/Zend/Search/Lucene/Exception.php | 0 thirdparty/Zend/Search/Lucene/FSM.php | 0 thirdparty/Zend/Search/Lucene/FSMAction.php | 0 thirdparty/Zend/Search/Lucene/Field.php | 0 .../Search/Lucene/Index/DictionaryLoader.php | 0 .../Zend/Search/Lucene/Index/DocsFilter.php | 0 .../Zend/Search/Lucene/Index/FieldInfo.php | 0 .../Zend/Search/Lucene/Index/SegmentInfo.php | 0 .../Search/Lucene/Index/SegmentMerger.php | 0 .../Search/Lucene/Index/SegmentWriter.php | 0 .../Index/SegmentWriter/DocumentWriter.php | 0 .../Index/SegmentWriter/StreamWriter.php | 0 thirdparty/Zend/Search/Lucene/Index/Term.php | 0 .../Zend/Search/Lucene/Index/TermInfo.php | 0 .../Lucene/Index/TermsPriorityQueue.php | 0 .../Lucene/Index/TermsStream/Interface.php | 0 .../Zend/Search/Lucene/Index/Writer.php | 0 thirdparty/Zend/Search/Lucene/Interface.php | 0 thirdparty/Zend/Search/Lucene/LockManager.php | 0 .../Zend/Search/Lucene/MultiSearcher.php | 0 .../Zend/Search/Lucene/PriorityQueue.php | 0 thirdparty/Zend/Search/Lucene/Proxy.php | 0 .../Search/BooleanExpressionRecognizer.php | 0 .../Lucene/Search/Highlighter/Default.php | 0 .../Lucene/Search/Highlighter/Interface.php | 0 .../Zend/Search/Lucene/Search/Query.php | 0 .../Search/Lucene/Search/Query/Boolean.php | 0 .../Zend/Search/Lucene/Search/Query/Empty.php | 0 .../Zend/Search/Lucene/Search/Query/Fuzzy.php | 0 .../Lucene/Search/Query/Insignificant.php | 0 .../Search/Lucene/Search/Query/MultiTerm.php | 0 .../Search/Lucene/Search/Query/Phrase.php | 0 .../Lucene/Search/Query/Preprocessing.php | 0 .../Search/Query/Preprocessing/Fuzzy.php | 0 .../Search/Query/Preprocessing/Phrase.php | 0 .../Search/Query/Preprocessing/Term.php | 0 .../Zend/Search/Lucene/Search/Query/Range.php | 0 .../Zend/Search/Lucene/Search/Query/Term.php | 0 .../Search/Lucene/Search/Query/Wildcard.php | 0 .../Zend/Search/Lucene/Search/QueryEntry.php | 0 .../Lucene/Search/QueryEntry/Phrase.php | 0 .../Lucene/Search/QueryEntry/Subquery.php | 0 .../Search/Lucene/Search/QueryEntry/Term.php | 0 .../Zend/Search/Lucene/Search/QueryHit.php | 0 .../Zend/Search/Lucene/Search/QueryLexer.php | 0 .../Zend/Search/Lucene/Search/QueryParser.php | 0 .../Lucene/Search/QueryParserContext.php | 0 .../Lucene/Search/QueryParserException.php | 0 .../Zend/Search/Lucene/Search/QueryToken.php | 0 .../Zend/Search/Lucene/Search/Similarity.php | 0 .../Lucene/Search/Similarity/Default.php | 0 .../Zend/Search/Lucene/Search/Weight.php | 0 .../Search/Lucene/Search/Weight/Boolean.php | 0 .../Search/Lucene/Search/Weight/Empty.php | 0 .../Search/Lucene/Search/Weight/MultiTerm.php | 0 .../Search/Lucene/Search/Weight/Phrase.php | 0 .../Zend/Search/Lucene/Search/Weight/Term.php | 0 .../Zend/Search/Lucene/Storage/Directory.php | 0 .../Lucene/Storage/Directory/Filesystem.php | 0 .../Zend/Search/Lucene/Storage/File.php | 0 .../Search/Lucene/Storage/File/Filesystem.php | 0 .../Search/Lucene/Storage/File/Memory.php | 0 .../Lucene/TermStreamsPriorityQueue.php | 0 thirdparty/_manifest_exclude | 0 thirdparty/syntaxhighlighter/LGPL-LICENSE | 0 thirdparty/syntaxhighlighter/MIT-LICENSE | 0 thirdparty/syntaxhighlighter/index.html | 0 .../syntaxhighlighter/scripts/shAutoloader.js | 0 .../syntaxhighlighter/scripts/shBrushAS3.js | 0 .../scripts/shBrushAppleScript.js | 0 .../syntaxhighlighter/scripts/shBrushBash.js | 0 .../scripts/shBrushCSharp.js | 0 .../scripts/shBrushColdFusion.js | 0 .../syntaxhighlighter/scripts/shBrushCpp.js | 0 .../syntaxhighlighter/scripts/shBrushCss.js | 0 .../scripts/shBrushDelphi.js | 0 .../syntaxhighlighter/scripts/shBrushDiff.js | 0 .../scripts/shBrushErlang.js | 0 .../scripts/shBrushGroovy.js | 0 .../scripts/shBrushJScript.js | 0 .../syntaxhighlighter/scripts/shBrushJava.js | 0 .../scripts/shBrushJavaFX.js | 0 .../syntaxhighlighter/scripts/shBrushPerl.js | 0 .../syntaxhighlighter/scripts/shBrushPhp.js | 0 .../syntaxhighlighter/scripts/shBrushPlain.js | 0 .../scripts/shBrushPowerShell.js | 0 .../scripts/shBrushPython.js | 0 .../syntaxhighlighter/scripts/shBrushRuby.js | 0 .../syntaxhighlighter/scripts/shBrushSass.js | 0 .../syntaxhighlighter/scripts/shBrushScala.js | 0 .../syntaxhighlighter/scripts/shBrushSql.js | 0 .../syntaxhighlighter/scripts/shBrushVb.js | 0 .../syntaxhighlighter/scripts/shBrushXml.js | 0 .../syntaxhighlighter/scripts/shCore.js | 0 .../syntaxhighlighter/scripts/shLegacy.js | 0 .../syntaxhighlighter/src/shAutoloader.js | 0 thirdparty/syntaxhighlighter/src/shCore.js | 0 thirdparty/syntaxhighlighter/src/shLegacy.js | 0 .../syntaxhighlighter/styles/shCore.css | 0 .../styles/shCoreDefault.css | 0 .../syntaxhighlighter/styles/shCoreDjango.css | 0 .../styles/shCoreEclipse.css | 0 .../syntaxhighlighter/styles/shCoreEmacs.css | 0 .../styles/shCoreFadeToGrey.css | 0 .../styles/shCoreMDUltra.css | 0 .../styles/shCoreMidnight.css | 0 .../syntaxhighlighter/styles/shCoreRDark.css | 0 .../styles/shThemeDefault.css | 0 .../styles/shThemeDjango.css | 0 .../styles/shThemeEclipse.css | 0 .../syntaxhighlighter/styles/shThemeEmacs.css | 0 .../styles/shThemeFadeToGrey.css | 0 .../styles/shThemeMidnight.css | 0 .../syntaxhighlighter/styles/shThemeRDark.css | 0 202 files changed, 356 insertions(+), 257 deletions(-) mode change 100644 => 100755 LICENSE mode change 100644 => 100755 code/DocumentationParser.php mode change 100644 => 100755 code/DocumentationPermalinks.php mode change 100644 => 100755 code/DocumentationSearch.php mode change 100644 => 100755 code/DocumentationService.php rename code/{ => controllers}/DocumentationViewer.php (81%) rename code/{ => models}/DocumentationEntity.php (89%) mode change 100644 => 100755 rename code/{ => models}/DocumentationPage.php (84%) mode change 100644 => 100755 mode change 100644 => 100755 code/tasks/RebuildLuceneDocsIndex.php mode change 100644 => 100755 css/DocumentationViewer.css mode change 100644 => 100755 docs/_manifest_exclude mode change 100644 => 100755 docs/en/Configuration-Options.md mode change 100644 => 100755 docs/en/Writing-Documentation.md mode change 100644 => 100755 docs/en/index.md mode change 100644 => 100755 javascript/DocumentationViewer.js mode change 100644 => 100755 javascript/shBrushSS.js mode change 100644 => 100755 templates/DocFolderListing.ss mode change 100644 => 100755 templates/DocumentationViewer.ss mode change 100644 => 100755 templates/Includes/DocBreadcrumbs.ss mode change 100644 => 100755 templates/Includes/DocInThisModule.ss mode change 100644 => 100755 templates/Includes/DocNotFound.ss mode change 100644 => 100755 templates/Includes/DocTableOfContents.ss mode change 100644 => 100755 templates/Layout/DocumentationViewer.ss mode change 100644 => 100755 templates/Layout/DocumentationViewer_folder.ss mode change 100644 => 100755 templates/Layout/DocumentationViewer_results.ss mode change 100644 => 100755 templates/OpenSearchDescription.ss mode change 100644 => 100755 templates/OpenSearchResults.ss mode change 100644 => 100755 tests/DocumentTests.yml mode change 100644 => 100755 tests/DocumentationEntityTest.php mode change 100644 => 100755 tests/DocumentationPageTest.php mode change 100644 => 100755 tests/DocumentationParserTest.php mode change 100644 => 100755 tests/DocumentationPermalinksTest.php mode change 100644 => 100755 tests/DocumentationSearchTest.php mode change 100644 => 100755 tests/DocumentationServiceTest.php mode change 100644 => 100755 tests/DocumentationViewerTest.php delete mode 100644 tests/docs-3/en/empty.md mode change 100644 => 100755 tests/docs-parser/en/CodeSnippets.md mode change 100644 => 100755 tests/docs-parser/en/MetaDataTest.md mode change 100644 => 100755 tests/docs-recursive/en/TestFile.md mode change 100644 => 100755 tests/docs-recursive/en/index.md mode change 100644 => 100755 tests/docs-recursive/en/subfolder-2/SubFolder-TestFile.md mode change 100644 => 100755 tests/docs-recursive/en/subfolder-2/subsubfolder/SubSubFolder-TestFile.md mode change 100644 => 100755 tests/docs-recursive/en/subfolder-2/subsubfolder/index.md mode change 100644 => 100755 tests/docs-recursive/en/subfolder/index.md mode change 100644 => 100755 tests/docs-search/en/index.md mode change 100644 => 100755 tests/docs-search/en/query-in-content.md mode change 100644 => 100755 tests/docs-search/en/query-search.md mode change 100644 => 100755 tests/docs-search/en/subfolder/foo-folder/third-foo.md mode change 100644 => 100755 tests/docs-search/en/subfolder/foo.md rename tests/{docs-2 => docs-v2.4}/en/index.md (100%) mode change 100644 => 100755 rename tests/{docs-2 => docs-v2.4}/en/test.md (100%) mode change 100644 => 100755 create mode 100755 tests/docs-v3.0/en/empty.md mode change 100644 => 100755 tests/docs/de/index.md mode change 100644 => 100755 tests/docs/de/test.md mode change 100644 => 100755 tests/docs/en/index.md mode change 100644 => 100755 tests/docs/en/sort/1-basic.md mode change 100644 => 100755 tests/docs/en/sort/10-some-page.md mode change 100644 => 100755 tests/docs/en/sort/2-intermediate.md mode change 100644 => 100755 tests/docs/en/sort/21-another-page.md mode change 100644 => 100755 tests/docs/en/sort/3-advanced.md mode change 100644 => 100755 tests/docs/en/subfolder/subpage.md mode change 100644 => 100755 tests/docs/en/subfolder/subsubfolder/subsubpage.md mode change 100644 => 100755 tests/docs/en/test.md mode change 100644 => 100755 thirdparty/Zend/Search/Exception.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Analysis/Analyzer.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Analysis/Analyzer/Common.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Analysis/Analyzer/Common/Text.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Analysis/Analyzer/Common/Text/CaseInsensitive.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Analysis/Analyzer/Common/TextNum.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Analysis/Analyzer/Common/TextNum/CaseInsensitive.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Analysis/Analyzer/Common/Utf8.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Analysis/Analyzer/Common/Utf8/CaseInsensitive.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Analysis/Analyzer/Common/Utf8Num.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Analysis/Analyzer/Common/Utf8Num/CaseInsensitive.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Analysis/Token.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Analysis/TokenFilter.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Analysis/TokenFilter/LowerCase.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Analysis/TokenFilter/LowerCaseUtf8.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Analysis/TokenFilter/ShortWords.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Analysis/TokenFilter/StopWords.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Document.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Document/Docx.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Document/Exception.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Document/Html.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Document/OpenXml.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Document/Pptx.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Document/Xlsx.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Exception.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/FSM.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/FSMAction.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Field.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Index/DictionaryLoader.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Index/DocsFilter.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Index/FieldInfo.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Index/SegmentInfo.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Index/SegmentMerger.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Index/SegmentWriter.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Index/SegmentWriter/DocumentWriter.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Index/SegmentWriter/StreamWriter.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Index/Term.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Index/TermInfo.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Index/TermsPriorityQueue.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Index/TermsStream/Interface.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Index/Writer.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Interface.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/LockManager.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/MultiSearcher.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/PriorityQueue.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Proxy.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Search/BooleanExpressionRecognizer.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Search/Highlighter/Default.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Search/Highlighter/Interface.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Search/Query.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Search/Query/Boolean.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Search/Query/Empty.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Search/Query/Fuzzy.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Search/Query/Insignificant.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Search/Query/MultiTerm.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Search/Query/Phrase.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Search/Query/Preprocessing.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Search/Query/Preprocessing/Fuzzy.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Search/Query/Preprocessing/Phrase.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Search/Query/Preprocessing/Term.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Search/Query/Range.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Search/Query/Term.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Search/Query/Wildcard.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Search/QueryEntry.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Search/QueryEntry/Phrase.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Search/QueryEntry/Subquery.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Search/QueryEntry/Term.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Search/QueryHit.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Search/QueryLexer.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Search/QueryParser.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Search/QueryParserContext.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Search/QueryParserException.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Search/QueryToken.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Search/Similarity.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Search/Similarity/Default.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Search/Weight.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Search/Weight/Boolean.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Search/Weight/Empty.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Search/Weight/MultiTerm.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Search/Weight/Phrase.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Search/Weight/Term.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Storage/Directory.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Storage/Directory/Filesystem.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Storage/File.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Storage/File/Filesystem.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/Storage/File/Memory.php mode change 100644 => 100755 thirdparty/Zend/Search/Lucene/TermStreamsPriorityQueue.php mode change 100644 => 100755 thirdparty/_manifest_exclude mode change 100644 => 100755 thirdparty/syntaxhighlighter/LGPL-LICENSE mode change 100644 => 100755 thirdparty/syntaxhighlighter/MIT-LICENSE mode change 100644 => 100755 thirdparty/syntaxhighlighter/index.html mode change 100644 => 100755 thirdparty/syntaxhighlighter/scripts/shAutoloader.js mode change 100644 => 100755 thirdparty/syntaxhighlighter/scripts/shBrushAS3.js mode change 100644 => 100755 thirdparty/syntaxhighlighter/scripts/shBrushAppleScript.js mode change 100644 => 100755 thirdparty/syntaxhighlighter/scripts/shBrushBash.js mode change 100644 => 100755 thirdparty/syntaxhighlighter/scripts/shBrushCSharp.js mode change 100644 => 100755 thirdparty/syntaxhighlighter/scripts/shBrushColdFusion.js mode change 100644 => 100755 thirdparty/syntaxhighlighter/scripts/shBrushCpp.js mode change 100644 => 100755 thirdparty/syntaxhighlighter/scripts/shBrushCss.js mode change 100644 => 100755 thirdparty/syntaxhighlighter/scripts/shBrushDelphi.js mode change 100644 => 100755 thirdparty/syntaxhighlighter/scripts/shBrushDiff.js mode change 100644 => 100755 thirdparty/syntaxhighlighter/scripts/shBrushErlang.js mode change 100644 => 100755 thirdparty/syntaxhighlighter/scripts/shBrushGroovy.js mode change 100644 => 100755 thirdparty/syntaxhighlighter/scripts/shBrushJScript.js mode change 100644 => 100755 thirdparty/syntaxhighlighter/scripts/shBrushJava.js mode change 100644 => 100755 thirdparty/syntaxhighlighter/scripts/shBrushJavaFX.js mode change 100644 => 100755 thirdparty/syntaxhighlighter/scripts/shBrushPerl.js mode change 100644 => 100755 thirdparty/syntaxhighlighter/scripts/shBrushPhp.js mode change 100644 => 100755 thirdparty/syntaxhighlighter/scripts/shBrushPlain.js mode change 100644 => 100755 thirdparty/syntaxhighlighter/scripts/shBrushPowerShell.js mode change 100644 => 100755 thirdparty/syntaxhighlighter/scripts/shBrushPython.js mode change 100644 => 100755 thirdparty/syntaxhighlighter/scripts/shBrushRuby.js mode change 100644 => 100755 thirdparty/syntaxhighlighter/scripts/shBrushSass.js mode change 100644 => 100755 thirdparty/syntaxhighlighter/scripts/shBrushScala.js mode change 100644 => 100755 thirdparty/syntaxhighlighter/scripts/shBrushSql.js mode change 100644 => 100755 thirdparty/syntaxhighlighter/scripts/shBrushVb.js mode change 100644 => 100755 thirdparty/syntaxhighlighter/scripts/shBrushXml.js mode change 100644 => 100755 thirdparty/syntaxhighlighter/scripts/shCore.js mode change 100644 => 100755 thirdparty/syntaxhighlighter/scripts/shLegacy.js mode change 100644 => 100755 thirdparty/syntaxhighlighter/src/shAutoloader.js mode change 100644 => 100755 thirdparty/syntaxhighlighter/src/shCore.js mode change 100644 => 100755 thirdparty/syntaxhighlighter/src/shLegacy.js mode change 100644 => 100755 thirdparty/syntaxhighlighter/styles/shCore.css mode change 100644 => 100755 thirdparty/syntaxhighlighter/styles/shCoreDefault.css mode change 100644 => 100755 thirdparty/syntaxhighlighter/styles/shCoreDjango.css mode change 100644 => 100755 thirdparty/syntaxhighlighter/styles/shCoreEclipse.css mode change 100644 => 100755 thirdparty/syntaxhighlighter/styles/shCoreEmacs.css mode change 100644 => 100755 thirdparty/syntaxhighlighter/styles/shCoreFadeToGrey.css mode change 100644 => 100755 thirdparty/syntaxhighlighter/styles/shCoreMDUltra.css mode change 100644 => 100755 thirdparty/syntaxhighlighter/styles/shCoreMidnight.css mode change 100644 => 100755 thirdparty/syntaxhighlighter/styles/shCoreRDark.css mode change 100644 => 100755 thirdparty/syntaxhighlighter/styles/shThemeDefault.css mode change 100644 => 100755 thirdparty/syntaxhighlighter/styles/shThemeDjango.css mode change 100644 => 100755 thirdparty/syntaxhighlighter/styles/shThemeEclipse.css mode change 100644 => 100755 thirdparty/syntaxhighlighter/styles/shThemeEmacs.css mode change 100644 => 100755 thirdparty/syntaxhighlighter/styles/shThemeFadeToGrey.css mode change 100644 => 100755 thirdparty/syntaxhighlighter/styles/shThemeMidnight.css mode change 100644 => 100755 thirdparty/syntaxhighlighter/styles/shThemeRDark.css diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 diff --git a/code/DocumentationParser.php b/code/DocumentationParser.php old mode 100644 new mode 100755 index 9230c7d..eee0be1 --- a/code/DocumentationParser.php +++ b/code/DocumentationParser.php @@ -34,7 +34,7 @@ class DocumentationParser { if(!$page || (!$page instanceof DocumentationPage)) return false; $md = $page->getMarkdown(); - + // Pre-processing $md = self::rewrite_image_links($md, $page); $md = self::rewrite_relative_links($md, $page, $baselink); @@ -168,7 +168,7 @@ class DocumentationParser { $url = sprintf(self::$api_link_base, $subject, $page->getVersion(), $page->getEntity()->getModuleFolder()); $md = str_replace( $match, - sprintf('[%s](%s)', $title, $url), + sprintf('[%s](%s)', $title, $url), $md ); } @@ -189,7 +189,7 @@ class DocumentationParser { $url = sprintf(self::$api_link_base, $subject, $page->getVersion(), $page->getEntity()->getModuleFolder()); $md = str_replace( $match, - sprintf('[%s](%s)', $subject, $url), + sprintf('[%s](%s)', $subject, $url), $md ); } diff --git a/code/DocumentationPermalinks.php b/code/DocumentationPermalinks.php old mode 100644 new mode 100755 diff --git a/code/DocumentationSearch.php b/code/DocumentationSearch.php old mode 100644 new mode 100755 index d6876d5..7a90cc0 --- a/code/DocumentationSearch.php +++ b/code/DocumentationSearch.php @@ -108,10 +108,9 @@ class DocumentationSearch { if($modules) { foreach($modules as $module) { - - foreach($module->getLanguages() as $language) { + foreach($module->getVersions() as $version) { try { - $pages = DocumentationService::get_pages_from_folder($module); + $pages = DocumentationService::get_pages_from_folder($module, false, true, $version); if($pages) { foreach($pages as $page) { diff --git a/code/DocumentationService.php b/code/DocumentationService.php old mode 100644 new mode 100755 index d612b73..718c40a --- a/code/DocumentationService.php +++ b/code/DocumentationService.php @@ -145,8 +145,8 @@ class DocumentationService { */ public static function get_registered_versions($module = false) { if($module) { - if(isset($registered_modules[$module])) { - return $registered_modules[$module]->getVersions(); + if(isset(self::$registered_modules[$module])) { + return self::$registered_modules[$module]->getVersions(); } else { return false; @@ -256,26 +256,26 @@ class DocumentationService { * @param Float $version Version of module. * @param String $title Nice title to use * @param bool $major is this a major release + * @param bool $latest - return is this the latest release. * * @throws InvalidArgumentException * * @return DocumentationEntity */ - public static function register($module, $path, $version = '', $title = false, $major = false) { + public static function register($module, $path, $version = '', $title = false, $major = false, $latest = false) { if(!file_exists($path)) throw new InvalidArgumentException(sprintf('Path "%s" doesn\'t exist', $path)); // add the module to the registered array if(!isset(self::$registered_modules[$module])) { // module is completely new $entity = new DocumentationEntity($module, $version, $path, $title); - + self::$registered_modules[$module] = $entity; } else { // module exists so add the version to it $entity = self::$registered_modules[$module]; - - $entity->addVersion($version, $path, true); + $entity->addVersion($version, $path); } if($major) { @@ -286,6 +286,11 @@ class DocumentationService { } } + if($latest) { + $entity->setLatestVersion($version); + } + + return $entity; } @@ -362,14 +367,16 @@ class DocumentationService { * * @param DocumentationEntity * @param array exploded url string + * @param string version number + * @param string lang code * * @return String|false - File path */ - static function find_page($module, $path) { - if($module = self::is_registered_module($module)) { - return self::find_page_recursive($module->getPath(), $path); + static function find_page($module, $path, $version = '', $lang = 'en') { + if($module = self::is_registered_module($module, $version, $lang)) { + return self::find_page_recursive($module->getPath($version, $lang), $path); } - + return false; } @@ -503,19 +510,24 @@ class DocumentationService { * @param DocumentationEntity path * @param string - an optional path within a module * @param bool enable several recursive calls (more than 1 level) + * @param string - version to use + * @param string - lang to use * * @throws Exception * @return DataObjectSet */ - public static function get_pages_from_folder($module, $relativePath = false, $recursive = true) { - // var_dump("START: get pages from $module | $relativePath"); + public static function get_pages_from_folder($module, $relativePath = false, $recursive = true, $version = 'trunk', $lang = 'en') { $output = new DataObjectSet(); - $pages = array(); - if(!$module instanceof DocumentationEntity) user_error("get_pages_from_folder must be passed a module", E_USER_ERROR); + + if(!$module instanceof DocumentationEntity) + user_error("get_pages_from_folder must be passed a module", E_USER_ERROR); + + $path = $module->getPath($version, $lang); + if(self::is_registered_module($module)) { - self::get_pages_from_folder_recursive($module->getPath(), $relativePath, $recursive, $pages); + self::get_pages_from_folder_recursive($path, $relativePath, $recursive, $pages); } else { return user_error("$module is not registered", E_USER_WARNING); @@ -524,22 +536,27 @@ class DocumentationService { if(count($pages) > 0) { natsort($pages); - foreach($pages as $key => $path) { + foreach($pages as $key => $pagePath) { // get file name from the path - $file = ($pos = strrpos($path, '/')) ? substr($path, $pos + 1) : $path; + $file = ($pos = strrpos($pagePath, '/')) ? substr($pagePath, $pos + 1) : $pagePath; $page = new DocumentationPage(); $page->setTitle(self::clean_page_name($file)); - $relative = str_replace($module->getPath(), '', $path); + $relative = str_replace($path, '', $pagePath); + // if no extension, put a slash on it + if(strpos($relative, '.') === false) $relative .= '/'; + $page->setEntity($module); $page->setRelativePath($relative); - // var_dump("ADDING FILE: ". $relative . " [$path]"); + $page->setVersion($version); + $page->setLang($lang); + $output->push($page); } } - // var_dump("END get pages"); + return $output; } diff --git a/code/DocumentationViewer.php b/code/controllers/DocumentationViewer.php similarity index 81% rename from code/DocumentationViewer.php rename to code/controllers/DocumentationViewer.php index 5248a76..6b81bb3 100755 --- a/code/DocumentationViewer.php +++ b/code/controllers/DocumentationViewer.php @@ -136,7 +136,7 @@ class DocumentationViewer extends Controller { $this->Remaining = $request->shift(10); DocumentationService::load_automatic_registration(); - + if(isset($firstParam)) { // allow assets if($firstParam == "assets") return parent::handleRequest($request); @@ -145,10 +145,8 @@ class DocumentationViewer extends Controller { // the first param is a shortcode for a page so redirect the user to // the short code. $this->response = new SS_HTTPResponse(); - - $this->redirect($link, 301); // permanent redirect - - + $this->redirect($link, 301); // 301 permanent redirect + return $this->response; } @@ -157,45 +155,36 @@ class DocumentationViewer extends Controller { $this->lang = $secondParam; if(isset($thirdParam) && (is_numeric($thirdParam) || in_array($thirdParam, array('master', 'trunk')))) { - $this->version = $thirdParam; + $this->version = $thirdParam; } else { // current version so store one area para array_unshift($this->Remaining, $thirdParam); - $this->version = ""; + $this->version = false; } } // 'current' version mapping $module = DocumentationService::is_registered_module($this->module, null, $this->getLang()); - + if($module) { - $current = $module->getCurrentVersion(); - + $current = $module->getLatestVersion(); $version = $this->getVersion(); - + if(!$version || $version == '') { $this->version = $current; - } else if($current == $version) { - $this->version = ''; - - $link = $this->Link($this->Remaining); - $this->response = new SS_HTTPResponse(); - - $this->redirect($link, 301); // permanent redirect - - return $this->response; } // Check if page exists, otherwise return 404 if(!$this->locationExists()) { $body = $this->renderWith(get_class($this)); $this->response = new SS_HTTPResponse($body, 404); + return $this->response; } } - + return parent::handleRequest($request); } @@ -206,6 +195,7 @@ class DocumentationViewer extends Controller { // count the number of parameters after the language, version are taken // into account. This automatically includes ' ' so all the counts // are 1 more than what you would expect + if($this->module || $this->Remaining) { $paramCount = count($this->Remaining); @@ -214,11 +204,10 @@ class DocumentationViewer extends Controller { return parent::getViewer('folder'); } else if($module = $this->getModule()) { - $params = $this->Remaining; - - $path = implode('/', array_unique($params)); - - if(is_dir($module->getPath() . $path)) return parent::getViewer('folder'); + // if this is a folder return the folder listing + if($this->locationExists() == 2) { + return parent::getViewer('folder'); + } } } else { @@ -230,12 +219,20 @@ class DocumentationViewer extends Controller { /** * Returns the current version. If no version is set then it is the current - * set version so need to pull that from the module + * set version so need to pull that from the module. * * @return String */ function getVersion() { - return $this->version; + if($this->version) return $this->version; + + if($module = $this->getModule()) { + $this->version = $module->getLatestVersion(); + + return $this->version; + } + + return false; } /** @@ -299,25 +296,35 @@ class DocumentationViewer extends Controller { * @return DataObjectSet */ function getVersions($module = false) { - $versions = DocumentationService::get_registered_versions($module); - $output = new DataObjectSet(); + if(!$module) $module = $this->module; - foreach($versions as $key => $version) { - // work out the link to this version of the documentation. - // - // @todo Keep the user on their given page rather than redirecting to module. - // @todo Get links working - $linkingMode = ($this->Version == $version) ? 'current' : 'link'; + $entity = DocumentationService::is_registered_module($module); + if(!$entity) return false; + + $versions = DocumentationService::get_registered_versions($module); + + $output = new DataObjectSet(); + $currentVersion = $this->getVersion(); + + if($versions) { + $lang = $this->getLang(); - if(!$version) $version = 'Current'; - $major = (in_array($version, DocumentationService::get_major_versions())) ? true : false; + foreach($versions as $key => $version) { + // work out the link to this version of the documentation. + // @todo Keep the user on their given page rather than redirecting to module. + $linkingMode = ($currentVersion == $version) ? 'current' : 'link'; - $output->push(new ArrayData(array( - 'Title' => $version, - 'Link' => $_SERVER['REQUEST_URI'], - 'LinkingMode' => $linkingMode, - 'MajorRelease' => $major - ))); + if(!$version) $version = 'Current'; + $major = (in_array($version, DocumentationService::get_major_versions())) ? true : false; + + + $output->push(new ArrayData(array( + 'Title' => $version, + 'Link' => $entity->Link($version, $lang), + 'LinkingMode' => $linkingMode, + 'MajorRelease' => $major + ))); + } } return $output; @@ -331,22 +338,24 @@ class DocumentationViewer extends Controller { * @return DataObject */ function getModules($version = false, $lang = false) { - if(!$version) $version = $this->Version; - if(!$lang) $lang = $this->Lang; + if(!$version) $version = $this->getVersion(); + if(!$lang) $lang = $this->getLang(); $modules = DocumentationService::get_registered_modules($version, $lang); $output = new DataObjectSet(); if($modules) { foreach($modules as $module) { - $absFilepath = $module->getPath() . '/index.md'; - $relativeFilePath = str_replace($module->getPath(), '', $absFilepath); + $path = $module->getPath($version, $lang); + $absFilepath = $path . '/index.md'; + $relativeFilePath = str_replace($path, '', $absFilepath); + if(file_exists($absFilepath)) { $page = new DocumentationPage(); $page->setRelativePath($relativeFilePath); $page->setEntity($module); - $page->setLang($this->Lang); - $page->setVersion($this->Version); + $page->setLang($lang); + $page->setVersion($version); $content = DocumentationParser::parse($page, $this->Link(array_slice($this->Remaining, -1, -1))); } else { @@ -373,7 +382,11 @@ class DocumentationViewer extends Controller { */ function getModule() { if($this->module) { - return DocumentationService::is_registered_module($this->module, $this->version, $this->lang); + return DocumentationService::is_registered_module( + $this->module, + $this->version, + $this->language + ); } return false; @@ -381,21 +394,34 @@ class DocumentationViewer extends Controller { /** * Simple way to check for existence of page of folder - * without constructing too much object state. - * Useful for generating 404 pages. - * - * @return boolean + * without constructing too much object state. Useful for + * generating 404 pages. Returns 0 for not a page or + * folder, returns 1 for a page and 2 for folder + * + * @return int */ function locationExists() { $module = $this->getModule(); + + if($module) { + $has_dir = is_dir(Controller::join_links( + $module->getPath($this->getVersion(), $this->getLang()), + implode('/', $this->Remaining) + )); + + if($has_dir) return 2; + + $has_page = DocumentationService::find_page( + $module, + $this->Remaining, + $this->getVersion(), + $this->getLang() + ); - return ( - $module - && ( - DocumentationService::find_page($module, $this->Remaining) - || is_dir($module->getPath() . implode('/', $this->Remaining)) - ) - ); + if($has_page) return 1; + } + + return 0; } /** @@ -403,20 +429,31 @@ class DocumentationViewer extends Controller { */ function getPage() { $module = $this->getModule(); - + if(!$module) return false; - $absFilepath = DocumentationService::find_page($module, $this->Remaining); - + $version = $this->getVersion(); + $lang = $this->getLang(); + + $absFilepath = DocumentationService::find_page( + $module, + $this->Remaining, + $version, + $lang + ); + if($absFilepath) { - $relativeFilePath = str_replace($module->getPath(), '', $absFilepath); - + $relativeFilePath = str_replace( + $module->getPath($version, $lang), + '', + $absFilepath + ); + $page = new DocumentationPage(); $page->setRelativePath($relativeFilePath); - $page->setEntity($module); - $page->setLang($this->Lang); - $page->setVersion($this->Version); + $page->setLang($lang); + $page->setVersion($version); return $page; } @@ -433,7 +470,7 @@ class DocumentationViewer extends Controller { */ function getModulePages() { if($module = $this->getModule()) { - $pages = DocumentationService::get_pages_from_folder($module, null, false); + $pages = DocumentationService::get_pages_from_folder($module, null, false, $this->getVersion(), $this->getLang()); if($pages) { foreach($pages as $page) { @@ -447,10 +484,10 @@ class DocumentationViewer extends Controller { $page->Children = $this->_getModulePagesNested($page, $module); } } - + return $pages; } - + return false; } @@ -458,7 +495,7 @@ class DocumentationViewer extends Controller { * Get the module pages under a given page. Recursive call for {@link getModulePages()} * * @todo Need to rethink how to support pages which are pulling content from their children - * i.e if a folder doesn't have index.md then it will load the first file in the folder + * i.e if a folder doesn't have 2 then it will load the first file in the folder * however it doesn't yet pass the highlighting to it. * * @param ArrayData CurrentPage @@ -468,24 +505,30 @@ class DocumentationViewer extends Controller { * @return DataObjectSet|false */ private function _getModulePagesNested(&$page, $module, $level = 0) { - // only support 2 more levels if(isset($this->Remaining[$level])) { // compare segment successively, e.g. with "changelogs/alpha/2.4.0-alpha", // first comparison on $level=0 is against "changelogs", // second comparison on $level=1 is against "changelogs/alpha", etc. $segments = array_slice($this->Remaining, 0, $level+1); + if(strtolower(implode('/', $segments)) == trim($page->getRelativeLink(), '/')) { // its either in this section or is the actual link $page->LinkingMode = (isset($this->Remaining[$level + 1])) ? 'section' : 'current'; $relativePath = Controller::join_links( - $module->getPath($page->getVersion(), $page->getLang()), + $module->getPath($this->getVersion(), $this->getLang()), $page->getRelativePath() ); if(is_dir($relativePath)) { - $children = DocumentationService::get_pages_from_folder($module, $page->getRelativePath(), false); + $children = DocumentationService::get_pages_from_folder( + $module, + $page->getRelativePath(), + false, + $this->getVersion(), + $this->getLang() + ); $segments = array(); for($x = 0; $x <= $level; $x++) { @@ -519,11 +562,10 @@ class DocumentationViewer extends Controller { * @return HTMLText */ function getContent() { - if($page = $this->getPage()) { + $page = $this->getPage(); - // Remove last portion of path (filename), we want a link to the folder base - $html = DocumentationParser::parse($page); - return DBField::create("HTMLText", $html); + if($page) { + return DBField::create("HTMLText", $page->getHTML($this->getVersion(), $this->getLang())); } else { // If no page found then we may want to get the listing of the folder. @@ -532,7 +574,14 @@ class DocumentationViewer extends Controller { $url = $this->Remaining; if($url && $module) { - $pages = DocumentationService::get_pages_from_folder($module, implode('/', $url), false); + $pages = DocumentationService::get_pages_from_folder( + $module, + implode('/', $url), + false, + $this->getVersion(), + $this->getLang() + ); + // If no pages are found, the 404 is handled in the same template return $this->customise(array( 'Title' => DocumentationService::clean_page_name(array_pop($url)), @@ -572,10 +621,10 @@ class DocumentationViewer extends Controller { if($title) { // Don't add module name, already present in Link() if($i > 0) $path[] = $title; - + $output->push(new ArrayData(array( 'Title' => DocumentationService::clean_page_name($title), - 'Link' => $this->Link($path) + 'Link' => rtrim($this->Link($path), "/"). "/" ))); } } @@ -611,21 +660,16 @@ class DocumentationViewer extends Controller { public function Link($path = false, $module = false) { $base = Director::absoluteBaseURL(); - $version = ($this->version) ? $this->version . '/' : false; - $lang = ($this->language) ? $this->language .'/' : false; - $module = (!$module && $this->module) ? $this->module .'/' : $module; + $version = $this->getVersion(); + $lang = $this->getLang(); + + $module = (!$module && $this->module) ? $this->module : $module; $action = ''; - if(is_string($path)) { - $action = $path . '/'; - } + if(is_string($path)) $action = $path; else if(is_array($path)) { - foreach($path as $key => $value) { - if($value) { - $action .= $value .'/'; - } - } + $action = implode('/', $path); } $link = Controller::join_links($base, self::get_link_base(), $module, $lang, $version, $action); diff --git a/code/DocumentationEntity.php b/code/models/DocumentationEntity.php old mode 100644 new mode 100755 similarity index 89% rename from code/DocumentationEntity.php rename to code/models/DocumentationEntity.php index 218bc7f..fcba7f6 --- a/code/DocumentationEntity.php +++ b/code/models/DocumentationEntity.php @@ -11,9 +11,10 @@ * * Versions are assumed to be in numeric format (e.g. '2.4'), * mainly as an easy way to distinguish them from language codes in the routing logic. - * They're also parsed through version_compare() in {@link getCurrentVersion()} which assumes a certain format. + * They're also parsed through version_compare() in {@link getLatestVersion()} which assumes a certain format. * * @package sapphiredocs + * @subpackage model */ class DocumentationEntity extends ViewableData { @@ -40,7 +41,7 @@ class DocumentationEntity extends ViewableData { /** * @var array */ - private $currentVersion; + private $latestVersion; /** * @var Array $langs a list of available langauges @@ -124,14 +125,15 @@ class DocumentationEntity extends ViewableData { /** * @return String|Boolean */ - public function getCurrentVersion() { + public function getLatestVersion() { if(!$this->hasVersions()) return false; - if($this->currentVersion) { - return $this->currentVersion; + if($this->latestVersion) { + return $this->latestVersion; } else { $sortedVersions = $this->getVersions(); usort($sortedVersions, create_function('$a,$b', 'return version_compare($a,$b);')); + return array_pop($sortedVersions); } } @@ -139,10 +141,9 @@ class DocumentationEntity extends ViewableData { /** * @param String $version */ - public function setCurrentVersion($version) { + public function setLatestVersion($version) { if(!$this->hasVersion($version)) throw new InvalidArgumentException(sprintf('Version "%s" does not exist', $version)); - - $this->currentVersion = $version; + $this->latestVersion = $version; } /** @@ -168,13 +169,10 @@ class DocumentationEntity extends ViewableData { * * @param Float $version Version number * @param String $path path to folder - * @param Boolean $current */ - public function addVersion($version = '', $path, $current = false) { - // determine the langs in this path - + public function addVersion($version = '', $path) { + $langs = scandir($path); - $available = array(); if($langs) { @@ -189,8 +187,6 @@ class DocumentationEntity extends ViewableData { $this->addLanguage($available); $this->versions[$version] = $path; - - if($current) $this->setCurrentVersion($version); } /** @@ -211,8 +207,7 @@ class DocumentationEntity extends ViewableData { * @return string */ public function getPath($version = false, $lang = false) { - - if(!$version) $version = ''; + if(!$version) $version = $this->getLatestVersion(); if(!$lang) $lang = 'en'; if($this->hasVersion($version)) { @@ -239,7 +234,7 @@ class DocumentationEntity extends ViewableData { } function getRelativeLink($version = false, $lang = false) { - if(!$version) $version = ''; + if(!$version) $version = $this->getLatestVersion(); if(!$lang) $lang = 'en'; return Controller::join_links( diff --git a/code/DocumentationPage.php b/code/models/DocumentationPage.php old mode 100644 new mode 100755 similarity index 84% rename from code/DocumentationPage.php rename to code/models/DocumentationPage.php index 50f3ff0..b1dedc5 --- a/code/DocumentationPage.php +++ b/code/models/DocumentationPage.php @@ -5,6 +5,7 @@ * filesystem. * * @package sapphiredocs + * @subpackage model */ class DocumentationPage extends ViewableData { @@ -76,7 +77,11 @@ class DocumentationPage extends ViewableData { */ function getPath($defaultFile = false) { if($this->entity) { - $path = rtrim($this->entity->getPath($this->version, $this->lang), '/') . '/' . trim($this->getRelativePath(), '/'); + + $path = Controller::join_links( + $this->entity->getPath($this->getVersion(), $this->lang), + $this->getRelativePath() + ); if(!is_dir($path)) $path = realpath($path); else if($defaultFile) { @@ -88,7 +93,6 @@ class DocumentationPage extends ViewableData { else { $path = $this->getRelativePath(); } - if(!file_exists($path)) { throw new InvalidArgumentException(sprintf( 'Path could not be found. Module path: %s, file path: %s', @@ -107,7 +111,12 @@ class DocumentationPage extends ViewableData { */ function getBreadcrumbTitle($divider = ' - ') { $pathParts = explode('/', $this->getRelativePath()); + + // add the module to the breadcrumb trail. + array_unshift($pathParts, $this->entity->getTitle()); + $titleParts = array_map(array('DocumentationService', 'clean_page_name'), $pathParts); + return implode($divider, $titleParts + array($this->getTitle())); } @@ -118,7 +127,7 @@ class DocumentationPage extends ViewableData { */ function Link() { if($entity = $this->getEntity()) { - $link = Controller::join_links($entity->Link($this->version, $this->lang), $this->getRelativeLink()); + $link = Controller::join_links($entity->Link($this->getVersion(), $this->lang), $this->getRelativeLink()); $link = rtrim(DocumentationService::trim_extension_off($link), '/'); @@ -160,7 +169,7 @@ class DocumentationPage extends ViewableData { } function getVersion() { - return $this->version; + return $this->version ? $this->version : $this->entity->getLatestVersion(); } function setVersion($version) { @@ -174,7 +183,7 @@ class DocumentationPage extends ViewableData { function getTitle() { return $this->title; } - + /** * Set a variable from the metadata field on this class * @@ -200,6 +209,9 @@ class DocumentationPage extends ViewableData { } /** + * Return the raw markdown for a given documentation page + * + * @throws InvalidArgumentException * @return String */ function getMarkdown() { @@ -212,15 +224,17 @@ class DocumentationPage extends ViewableData { } catch(InvalidArgumentException $e) {} - return null; + return false; } /** + * Parse a file (with a lang and a version). + * * @param String $baselink + * * @return String */ - function getHTML($baselink = null) { - // if this is not a directory then we can to parse the file - return DocumentationParser::parse($this, $baselink); + function getHTML($version, $lang = 'en') { + return DocumentationParser::parse($this, $this->entity->getRelativeLink($version, $lang)); } } \ No newline at end of file diff --git a/code/tasks/RebuildLuceneDocsIndex.php b/code/tasks/RebuildLuceneDocsIndex.php old mode 100644 new mode 100755 diff --git a/css/DocumentationViewer.css b/css/DocumentationViewer.css old mode 100644 new mode 100755 diff --git a/docs/_manifest_exclude b/docs/_manifest_exclude old mode 100644 new mode 100755 diff --git a/docs/en/Configuration-Options.md b/docs/en/Configuration-Options.md old mode 100644 new mode 100755 diff --git a/docs/en/Writing-Documentation.md b/docs/en/Writing-Documentation.md old mode 100644 new mode 100755 diff --git a/docs/en/index.md b/docs/en/index.md old mode 100644 new mode 100755 diff --git a/javascript/DocumentationViewer.js b/javascript/DocumentationViewer.js old mode 100644 new mode 100755 diff --git a/javascript/shBrushSS.js b/javascript/shBrushSS.js old mode 100644 new mode 100755 diff --git a/templates/DocFolderListing.ss b/templates/DocFolderListing.ss old mode 100644 new mode 100755 diff --git a/templates/DocumentationViewer.ss b/templates/DocumentationViewer.ss old mode 100644 new mode 100755 diff --git a/templates/Includes/DocBreadcrumbs.ss b/templates/Includes/DocBreadcrumbs.ss old mode 100644 new mode 100755 diff --git a/templates/Includes/DocInThisModule.ss b/templates/Includes/DocInThisModule.ss old mode 100644 new mode 100755 diff --git a/templates/Includes/DocNotFound.ss b/templates/Includes/DocNotFound.ss old mode 100644 new mode 100755 index 855c6ad..e981b70 --- a/templates/Includes/DocNotFound.ss +++ b/templates/Includes/DocNotFound.ss @@ -1,24 +1,24 @@ -
-
-

We're sorry…

-

The page you are looking for does not exist, or might have moved. -

Perhaps you could…
-

return to the homepage or try searching (see input box on the top right).

- - -
- -
\ No newline at end of file +
+
+

We're sorry…

+

The page you are looking for does not exist, or might have moved. +

Perhaps you could…
+

Return to the homepage or try searching for the page (see input box on the top right).

+ + +
+ +
\ No newline at end of file diff --git a/templates/Includes/DocTableOfContents.ss b/templates/Includes/DocTableOfContents.ss old mode 100644 new mode 100755 diff --git a/templates/Layout/DocumentationViewer.ss b/templates/Layout/DocumentationViewer.ss old mode 100644 new mode 100755 diff --git a/templates/Layout/DocumentationViewer_folder.ss b/templates/Layout/DocumentationViewer_folder.ss old mode 100644 new mode 100755 index a0f0a17..9b738e0 --- a/templates/Layout/DocumentationViewer_folder.ss +++ b/templates/Layout/DocumentationViewer_folder.ss @@ -1,12 +1,11 @@
- -
- <% if Content %> - $Content - <% else %> -

$Title

- <% end_if %> -
+
+ <% if Content %> + $Content + <% else %> +

$Title

+ <% end_if %> +
<% include DocInThisModule %> diff --git a/templates/Layout/DocumentationViewer_results.ss b/templates/Layout/DocumentationViewer_results.ss old mode 100644 new mode 100755 index bbd9b58..5370b6c --- a/templates/Layout/DocumentationViewer_results.ss +++ b/templates/Layout/DocumentationViewer_results.ss @@ -4,8 +4,9 @@ <% if Results %>

Showing page $ThisPage of $TotalPages

+ <% control Results %> -

$Title

+

<% if BreadcrumbTitle %>$BreadcrumbTitle<% else %>$Title<% end_if %>

$Content.LimitCharacters(200)

<% end_control %> diff --git a/templates/OpenSearchDescription.ss b/templates/OpenSearchDescription.ss old mode 100644 new mode 100755 diff --git a/templates/OpenSearchResults.ss b/templates/OpenSearchResults.ss old mode 100644 new mode 100755 diff --git a/tests/DocumentTests.yml b/tests/DocumentTests.yml old mode 100644 new mode 100755 diff --git a/tests/DocumentationEntityTest.php b/tests/DocumentationEntityTest.php old mode 100644 new mode 100755 index 01097d0..e9e988c --- a/tests/DocumentationEntityTest.php +++ b/tests/DocumentationEntityTest.php @@ -19,15 +19,15 @@ class DocumentationEntityTest extends SapphireTest { $this->assertFalse($entity->hasLanguage('fr')); } - function testGetCurrentVersion() { + function testgetLatestVersion() { $entity = new DocumentationEntity('docs', '1.0', '../sapphiredocs/tests/docs/', 'My Test'); - $entity->addVersion('1.1', '../sapphiredocs/tests/docs-2/'); - $entity->addVersion('0.0', '../sapphiredocs/tests/docs-3/'); - $this->assertEquals('1.1', $entity->getCurrentVersion(), 'Automatic version sorting'); + $entity->addVersion('1.1', '../sapphiredocs/tests/docs-v2.4/'); + $entity->addVersion('0.0', '../sapphiredocs/tests/docs-v3.0/'); + $this->assertEquals('1.1', $entity->getLatestVersion(), 'Automatic version sorting'); $entity = new DocumentationEntity('docs', '1.0', '../sapphiredocs/tests/docs/', 'My Test'); - $entity->addVersion('1.1.', '../sapphiredocs/tests/docs-2/'); - $entity->setCurrentVersion('1.0'); - $this->assertEquals('1.0', $entity->getCurrentVersion(), 'Manual setting'); + $entity->addVersion('1.1.', '../sapphiredocs/tests/docs-v2.4/'); + $entity->setLatestVersion('1.0'); + $this->assertEquals('1.0', $entity->getLatestVersion(), 'Manual setting'); } } \ No newline at end of file diff --git a/tests/DocumentationPageTest.php b/tests/DocumentationPageTest.php old mode 100644 new mode 100755 index 85ca4e6..830f908 --- a/tests/DocumentationPageTest.php +++ b/tests/DocumentationPageTest.php @@ -32,7 +32,7 @@ class DocumentationPageTest extends SapphireTest { $this->assertStringEndsWith('testmodule/en/subfolder/subpage', $nested->Link()); // test with version. - $entity = DocumentationService::register("versionlinks", BASE_PATH . "/sapphiredocs/tests/docs-2/", '1'); + $entity = DocumentationService::register("versionlinks", BASE_PATH . "/sapphiredocs/tests/docs-v2.4/", '1'); $page = new DocumentationPage(); $page->setRelativePath('test.md'); $page->setEntity($entity); @@ -70,4 +70,20 @@ class DocumentationPageTest extends SapphireTest { $this->assertEquals($absPath . 'en/subfolder/subpage.md', $page->getPath()); } + function testGetBreadcrumbTitle() { + $entity = new DocumentationEntity('testmodule', null, BASE_PATH . '/sapphiredocs/tests/docs/'); + + $page = new DocumentationPage(); + $page->setRelativePath('test.md'); + $page->setEntity($entity); + + $this->assertEquals("Testmodule - Test", $page->getBreadcrumbTitle()); + + $page = new DocumentationPage(); + $page->setRelativePath('subfolder/subpage.md'); + $page->setEntity(new DocumentationEntity('mymodule', null, BASE_PATH . '/sapphiredocs/tests/docs/')); + + $this->assertEquals('Mymodule - Subfolder - Subpage', $page->getBreadcrumbTitle()); + } + } \ No newline at end of file diff --git a/tests/DocumentationParserTest.php b/tests/DocumentationParserTest.php old mode 100644 new mode 100755 diff --git a/tests/DocumentationPermalinksTest.php b/tests/DocumentationPermalinksTest.php old mode 100644 new mode 100755 diff --git a/tests/DocumentationSearchTest.php b/tests/DocumentationSearchTest.php old mode 100644 new mode 100755 diff --git a/tests/DocumentationServiceTest.php b/tests/DocumentationServiceTest.php old mode 100644 new mode 100755 diff --git a/tests/DocumentationViewerTest.php b/tests/DocumentationViewerTest.php old mode 100644 new mode 100755 index aa7d33c..b7a3eeb --- a/tests/DocumentationViewerTest.php +++ b/tests/DocumentationViewerTest.php @@ -26,9 +26,9 @@ class DocumentationViewerTest extends FunctionalTest { } // We set 3.0 as current, and test most assertions against 2.4 - to avoid 'current' rewriting issues - DocumentationService::register("DocumentationViewerTests", BASE_PATH . "/sapphiredocs/tests/docs/", '2.4'); - DocumentationService::register("DocumentationViewerTests", BASE_PATH . "/sapphiredocs/tests/docs-2/", '2.3'); - DocumentationService::register("DocumentationViewerTests", BASE_PATH . "/sapphiredocs/tests/docs-3/", '3.0'); + DocumentationService::register("DocumentationViewerTests", BASE_PATH . "/sapphiredocs/tests/docs/", '2.3'); + DocumentationService::register("DocumentationViewerTests", BASE_PATH . "/sapphiredocs/tests/docs-v2.4/", '2.4', 'Doc Test', true); + DocumentationService::register("DocumentationViewerTests", BASE_PATH . "/sapphiredocs/tests/docs-v3.0/", '3.0', 'Doc Test', true, true); } function tearDownOnce() { @@ -39,31 +39,71 @@ class DocumentationViewerTest extends FunctionalTest { DocumentationViewer::set_link_base($this->origLinkBase); } - // TODO Works with phpunit executable, but not with sake. - // Also works in actual URL routing, just not in tests... - // function testLocationExists() { - // $response = $this->get('DocumentationViewerTests/en/2.4/'); - // $this->assertEquals($response->getStatusCode(), 200, 'Existing base folder'); - // - // $response = $this->get('DocumentationViewerTests/en/2.4/subfolder'); - // $this->assertEquals($response->getStatusCode(), 200, 'Existing subfolder'); - // - // $response = $this->get('DocumentationViewerTests/en/2.4/nonexistant-subfolder'); - // $this->assertEquals($response->getStatusCode(), 404, 'Nonexistant subfolder'); - // - // $response = $this->get('DocumentationViewerTests/en/2.4/nonexistant-file.txt'); - // $this->assertEquals($response->getStatusCode(), 404, 'Nonexistant file'); - // - // $response = $this->get('DocumentationViewerTests/en/2.4/test'); - // $this->assertEquals($response->getStatusCode(), 200, 'Existing file'); - // } + /** + * This tests that all the locations will exist if we access it via the urls. + */ + function testLocationsExists() { + $response = $this->get('dev/docs/DocumentationViewerTests/en/2.3/subfolder'); + $this->assertEquals($response->getStatusCode(), 200, 'Existing base folder'); + + $response = $this->get('dev/docs/DocumentationViewerTests/en/2.4'); + $this->assertEquals($response->getStatusCode(), 200, 'Existing base folder'); + + $response = $this->get('dev/docs/DocumentationViewerTests/en/2.4/'); + $this->assertEquals($response->getStatusCode(), 200, 'Existing base folder'); + + + $response = $this->get('dev/docs/DocumentationViewerTests/en/2.3/nonexistant-subfolder'); + $this->assertEquals($response->getStatusCode(), 404, 'Nonexistant subfolder'); + + $response = $this->get('dev/docs/DocumentationViewerTests/en/2.3/nonexistant-file.txt'); + $this->assertEquals($response->getStatusCode(), 404, 'Nonexistant file'); + + $response = $this->get('dev/docs/DocumentationViewerTests/en/2.3/test'); + $this->assertEquals($response->getStatusCode(), 200, 'Existing file'); + + $response = $this->get('dev/docs/DocumentationViewerTests/en/3.0/empty?foo'); + $this->assertEquals($response->getStatusCode(), 200, 'Existing page'); + + $response = $this->get('dev/docs/DocumentationViewerTests/en/3.0/empty.md'); + $this->assertEquals($response->getStatusCode(), 200, 'Existing page'); + + $response = $this->get('dev/docs/DocumentationViewerTests/en/3.0/empty/'); + $this->assertEquals($response->getStatusCode(), 200, 'Existing page'); + + $response = $this->get('dev/docs/DocumentationViewerTests/en/3.0/test'); + $this->assertEquals($response->getStatusCode(), 404, 'Missing page'); + + $response = $this->get('dev/docs/DocumentationViewerTests/en/3.0/test.md'); + $this->assertEquals($response->getStatusCode(), 404, 'Missing page'); + + $response = $this->get('dev/docs/DocumentationViewerTests/en/3.0/test/'); + $this->assertEquals($response->getStatusCode(), 404, 'Missing page'); + } + + + function testRouting() { + $response = $this->get('dev/docs/DocumentationViewerTests/en/2.4'); + + $this->assertEquals(200, $response->getStatusCode()); + $this->assertContains('english test', $response->getBody(), 'Toplevel content page'); + + $response = $this->get('dev/docs/DocumentationViewerTests/en/2.4/'); + $this->assertEquals(200, $response->getStatusCode()); + $this->assertContains('english test', $response->getBody(), 'Toplevel content page'); + + $response = $this->get('dev/docs/DocumentationViewerTests/en/2.4/index.md'); + $this->assertEquals(200, $response->getStatusCode()); + $this->assertContains('english test', $response->getBody(), 'Toplevel content page'); + } function testGetModulePagesShort() { $v = new DocumentationViewer(); - $response = $v->handleRequest(new SS_HTTPRequest('GET', 'DocumentationViewerTests/en/2.4/subfolder/')); + $response = $v->handleRequest(new SS_HTTPRequest('GET', 'DocumentationViewerTests/en/2.3/subfolder/')); $pages = $v->getModulePages(); - + $arr = $pages->toArray(); + $page = $arr[2]; $this->assertEquals('Subfolder', $page->Title); @@ -71,7 +111,7 @@ class DocumentationViewerTest extends FunctionalTest { function testGetModulePages() { $v = new DocumentationViewer(); - $response = $v->handleRequest(new SS_HTTPRequest('GET', 'DocumentationViewerTests/en/2.4/subfolder/')); + $response = $v->handleRequest(new SS_HTTPRequest('GET', 'DocumentationViewerTests/en/2.3/subfolder/')); $pages = $v->getModulePages(); $this->assertEquals( array('sort/', 'subfolder/', 'test.md'), @@ -83,14 +123,14 @@ class DocumentationViewerTest extends FunctionalTest { ); foreach($pages as $page) { - $page->setVersion('2.4'); + $page->setVersion('2.3'); } $links = $pages->column('Link'); - $this->assertStringEndsWith('DocumentationViewerTests/en/2.4/sort/', $links[0]); - $this->assertStringEndsWith('DocumentationViewerTests/en/2.4/subfolder/', $links[1]); - $this->assertStringEndsWith('DocumentationViewerTests/en/2.4/test', $links[2]); + $this->assertStringEndsWith('DocumentationViewerTests/en/2.3/sort/', $links[0]); + $this->assertStringEndsWith('DocumentationViewerTests/en/2.3/subfolder/', $links[1]); + $this->assertStringEndsWith('DocumentationViewerTests/en/2.3/test', $links[2]); // Children $pagesArr = $pages->toArray(); @@ -109,36 +149,14 @@ class DocumentationViewerTest extends FunctionalTest { $children = $child2->Children; foreach($children as $child) { - $child->setVersion('2.4'); + $child->setVersion('2.3'); } $child2Links = $children->column('Link'); $subpage = $children->First(); - $this->assertStringEndsWith('DocumentationViewerTests/en/2.4/subfolder/subpage', $child2Links[0]); - $this->assertStringEndsWith('DocumentationViewerTests/en/2.4/subfolder/subsubfolder/', $child2Links[1]); - } - - function testCurrentRedirection() { - $response = $this->get('dev/docs/DocumentationViewerTests/en/3.0/test'); - - $this->assertEquals(301, $response->getStatusCode()); - $this->assertEquals( - Director::absoluteBaseURL() . 'dev/docs/DocumentationViewerTests/en/test/', - $response->getHeader('Location'), - 'Redirection to current on page' - ); - - $response = $this->get('dev/docs/DocumentationViewerTests/en/3.0'); - $this->assertEquals(301, $response->getStatusCode()); - $this->assertEquals( - Director::absoluteBaseURL() . 'dev/docs/DocumentationViewerTests/en/', - $response->getHeader('Location'), - 'Redirection to current on index' - ); - - $response = $this->get('dev/docs/DocumentationViewerTests/en/2.3'); - $this->assertEquals(200, $response->getStatusCode(), 'No redirection on older versions'); + $this->assertStringEndsWith('DocumentationViewerTests/en/2.3/subfolder/subpage', $child2Links[0]); + $this->assertStringEndsWith('DocumentationViewerTests/en/2.3/subfolder/subsubfolder/', $child2Links[1]); } function testUrlParsing() { @@ -198,20 +216,15 @@ class DocumentationViewerTest extends FunctionalTest { $this->assertStringEndsWith('DocumentationViewerTests/en/2.4/subfolder/subpage/', $crumbLinks[2]); } - function testRouting() { - $response = $this->get('dev/docs/DocumentationViewerTests/en/2.4/test'); - $this->assertEquals(200, $response->getStatusCode()); - $this->assertContains('english test', $response->getBody(), 'Toplevel content page'); + function testGetVersion() { + $v = new DocumentationViewer(); + $response = $v->handleRequest(new SS_HTTPRequest('GET', 'DocumentationViewerTests/en/2.4')); + $this->assertEquals('2.4', $v->getVersion()); + + $response = $v->handleRequest(new SS_HTTPRequest('GET', 'DocumentationViewerTests/en/1')); + $this->assertEquals('1', $v->getVersion()); + + $response = $v->handleRequest(new SS_HTTPRequest('GET', 'DocumentationViewerTests/en/3.0')); + $this->assertEquals('3.0', $v->getVersion()); } - - // function testGetPage() { - // $v = new DocumentationViewer(); - // $v->handleRequest(new SS_HTTPRequest('GET', '2.4/en/cms')); - // $p = $v->getPage(); - // $this->assertType('DocumentationPage', $p); - // $this->assertEquals('/', $p->getRelativePath()); - // $this->assertEquals('en', $p->getLang()); - // $this->assertEquals('2.4', $p->getVersion()); - // } - } \ No newline at end of file diff --git a/tests/docs-3/en/empty.md b/tests/docs-3/en/empty.md deleted file mode 100644 index e69de29..0000000 diff --git a/tests/docs-parser/en/CodeSnippets.md b/tests/docs-parser/en/CodeSnippets.md old mode 100644 new mode 100755 diff --git a/tests/docs-parser/en/MetaDataTest.md b/tests/docs-parser/en/MetaDataTest.md old mode 100644 new mode 100755 diff --git a/tests/docs-recursive/en/TestFile.md b/tests/docs-recursive/en/TestFile.md old mode 100644 new mode 100755 diff --git a/tests/docs-recursive/en/index.md b/tests/docs-recursive/en/index.md old mode 100644 new mode 100755 diff --git a/tests/docs-recursive/en/subfolder-2/SubFolder-TestFile.md b/tests/docs-recursive/en/subfolder-2/SubFolder-TestFile.md old mode 100644 new mode 100755 diff --git a/tests/docs-recursive/en/subfolder-2/subsubfolder/SubSubFolder-TestFile.md b/tests/docs-recursive/en/subfolder-2/subsubfolder/SubSubFolder-TestFile.md old mode 100644 new mode 100755 diff --git a/tests/docs-recursive/en/subfolder-2/subsubfolder/index.md b/tests/docs-recursive/en/subfolder-2/subsubfolder/index.md old mode 100644 new mode 100755 diff --git a/tests/docs-recursive/en/subfolder/index.md b/tests/docs-recursive/en/subfolder/index.md old mode 100644 new mode 100755 diff --git a/tests/docs-search/en/index.md b/tests/docs-search/en/index.md old mode 100644 new mode 100755 diff --git a/tests/docs-search/en/query-in-content.md b/tests/docs-search/en/query-in-content.md old mode 100644 new mode 100755 diff --git a/tests/docs-search/en/query-search.md b/tests/docs-search/en/query-search.md old mode 100644 new mode 100755 diff --git a/tests/docs-search/en/subfolder/foo-folder/third-foo.md b/tests/docs-search/en/subfolder/foo-folder/third-foo.md old mode 100644 new mode 100755 diff --git a/tests/docs-search/en/subfolder/foo.md b/tests/docs-search/en/subfolder/foo.md old mode 100644 new mode 100755 diff --git a/tests/docs-2/en/index.md b/tests/docs-v2.4/en/index.md old mode 100644 new mode 100755 similarity index 100% rename from tests/docs-2/en/index.md rename to tests/docs-v2.4/en/index.md diff --git a/tests/docs-2/en/test.md b/tests/docs-v2.4/en/test.md old mode 100644 new mode 100755 similarity index 100% rename from tests/docs-2/en/test.md rename to tests/docs-v2.4/en/test.md diff --git a/tests/docs-v3.0/en/empty.md b/tests/docs-v3.0/en/empty.md new file mode 100755 index 0000000..ac34c36 --- /dev/null +++ b/tests/docs-v3.0/en/empty.md @@ -0,0 +1 @@ +english test \ No newline at end of file diff --git a/tests/docs/de/index.md b/tests/docs/de/index.md old mode 100644 new mode 100755 diff --git a/tests/docs/de/test.md b/tests/docs/de/test.md old mode 100644 new mode 100755 diff --git a/tests/docs/en/index.md b/tests/docs/en/index.md old mode 100644 new mode 100755 diff --git a/tests/docs/en/sort/1-basic.md b/tests/docs/en/sort/1-basic.md old mode 100644 new mode 100755 diff --git a/tests/docs/en/sort/10-some-page.md b/tests/docs/en/sort/10-some-page.md old mode 100644 new mode 100755 diff --git a/tests/docs/en/sort/2-intermediate.md b/tests/docs/en/sort/2-intermediate.md old mode 100644 new mode 100755 diff --git a/tests/docs/en/sort/21-another-page.md b/tests/docs/en/sort/21-another-page.md old mode 100644 new mode 100755 diff --git a/tests/docs/en/sort/3-advanced.md b/tests/docs/en/sort/3-advanced.md old mode 100644 new mode 100755 diff --git a/tests/docs/en/subfolder/subpage.md b/tests/docs/en/subfolder/subpage.md old mode 100644 new mode 100755 diff --git a/tests/docs/en/subfolder/subsubfolder/subsubpage.md b/tests/docs/en/subfolder/subsubfolder/subsubpage.md old mode 100644 new mode 100755 diff --git a/tests/docs/en/test.md b/tests/docs/en/test.md old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Exception.php b/thirdparty/Zend/Search/Exception.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene.php b/thirdparty/Zend/Search/Lucene.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Analysis/Analyzer.php b/thirdparty/Zend/Search/Lucene/Analysis/Analyzer.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Analysis/Analyzer/Common.php b/thirdparty/Zend/Search/Lucene/Analysis/Analyzer/Common.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Analysis/Analyzer/Common/Text.php b/thirdparty/Zend/Search/Lucene/Analysis/Analyzer/Common/Text.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Analysis/Analyzer/Common/Text/CaseInsensitive.php b/thirdparty/Zend/Search/Lucene/Analysis/Analyzer/Common/Text/CaseInsensitive.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Analysis/Analyzer/Common/TextNum.php b/thirdparty/Zend/Search/Lucene/Analysis/Analyzer/Common/TextNum.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Analysis/Analyzer/Common/TextNum/CaseInsensitive.php b/thirdparty/Zend/Search/Lucene/Analysis/Analyzer/Common/TextNum/CaseInsensitive.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Analysis/Analyzer/Common/Utf8.php b/thirdparty/Zend/Search/Lucene/Analysis/Analyzer/Common/Utf8.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Analysis/Analyzer/Common/Utf8/CaseInsensitive.php b/thirdparty/Zend/Search/Lucene/Analysis/Analyzer/Common/Utf8/CaseInsensitive.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Analysis/Analyzer/Common/Utf8Num.php b/thirdparty/Zend/Search/Lucene/Analysis/Analyzer/Common/Utf8Num.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Analysis/Analyzer/Common/Utf8Num/CaseInsensitive.php b/thirdparty/Zend/Search/Lucene/Analysis/Analyzer/Common/Utf8Num/CaseInsensitive.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Analysis/Token.php b/thirdparty/Zend/Search/Lucene/Analysis/Token.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Analysis/TokenFilter.php b/thirdparty/Zend/Search/Lucene/Analysis/TokenFilter.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Analysis/TokenFilter/LowerCase.php b/thirdparty/Zend/Search/Lucene/Analysis/TokenFilter/LowerCase.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Analysis/TokenFilter/LowerCaseUtf8.php b/thirdparty/Zend/Search/Lucene/Analysis/TokenFilter/LowerCaseUtf8.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Analysis/TokenFilter/ShortWords.php b/thirdparty/Zend/Search/Lucene/Analysis/TokenFilter/ShortWords.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Analysis/TokenFilter/StopWords.php b/thirdparty/Zend/Search/Lucene/Analysis/TokenFilter/StopWords.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Document.php b/thirdparty/Zend/Search/Lucene/Document.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Document/Docx.php b/thirdparty/Zend/Search/Lucene/Document/Docx.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Document/Exception.php b/thirdparty/Zend/Search/Lucene/Document/Exception.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Document/Html.php b/thirdparty/Zend/Search/Lucene/Document/Html.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Document/OpenXml.php b/thirdparty/Zend/Search/Lucene/Document/OpenXml.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Document/Pptx.php b/thirdparty/Zend/Search/Lucene/Document/Pptx.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Document/Xlsx.php b/thirdparty/Zend/Search/Lucene/Document/Xlsx.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Exception.php b/thirdparty/Zend/Search/Lucene/Exception.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/FSM.php b/thirdparty/Zend/Search/Lucene/FSM.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/FSMAction.php b/thirdparty/Zend/Search/Lucene/FSMAction.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Field.php b/thirdparty/Zend/Search/Lucene/Field.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Index/DictionaryLoader.php b/thirdparty/Zend/Search/Lucene/Index/DictionaryLoader.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Index/DocsFilter.php b/thirdparty/Zend/Search/Lucene/Index/DocsFilter.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Index/FieldInfo.php b/thirdparty/Zend/Search/Lucene/Index/FieldInfo.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Index/SegmentInfo.php b/thirdparty/Zend/Search/Lucene/Index/SegmentInfo.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Index/SegmentMerger.php b/thirdparty/Zend/Search/Lucene/Index/SegmentMerger.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Index/SegmentWriter.php b/thirdparty/Zend/Search/Lucene/Index/SegmentWriter.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Index/SegmentWriter/DocumentWriter.php b/thirdparty/Zend/Search/Lucene/Index/SegmentWriter/DocumentWriter.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Index/SegmentWriter/StreamWriter.php b/thirdparty/Zend/Search/Lucene/Index/SegmentWriter/StreamWriter.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Index/Term.php b/thirdparty/Zend/Search/Lucene/Index/Term.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Index/TermInfo.php b/thirdparty/Zend/Search/Lucene/Index/TermInfo.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Index/TermsPriorityQueue.php b/thirdparty/Zend/Search/Lucene/Index/TermsPriorityQueue.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Index/TermsStream/Interface.php b/thirdparty/Zend/Search/Lucene/Index/TermsStream/Interface.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Index/Writer.php b/thirdparty/Zend/Search/Lucene/Index/Writer.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Interface.php b/thirdparty/Zend/Search/Lucene/Interface.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/LockManager.php b/thirdparty/Zend/Search/Lucene/LockManager.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/MultiSearcher.php b/thirdparty/Zend/Search/Lucene/MultiSearcher.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/PriorityQueue.php b/thirdparty/Zend/Search/Lucene/PriorityQueue.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Proxy.php b/thirdparty/Zend/Search/Lucene/Proxy.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Search/BooleanExpressionRecognizer.php b/thirdparty/Zend/Search/Lucene/Search/BooleanExpressionRecognizer.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Search/Highlighter/Default.php b/thirdparty/Zend/Search/Lucene/Search/Highlighter/Default.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Search/Highlighter/Interface.php b/thirdparty/Zend/Search/Lucene/Search/Highlighter/Interface.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Search/Query.php b/thirdparty/Zend/Search/Lucene/Search/Query.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Search/Query/Boolean.php b/thirdparty/Zend/Search/Lucene/Search/Query/Boolean.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Search/Query/Empty.php b/thirdparty/Zend/Search/Lucene/Search/Query/Empty.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Search/Query/Fuzzy.php b/thirdparty/Zend/Search/Lucene/Search/Query/Fuzzy.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Search/Query/Insignificant.php b/thirdparty/Zend/Search/Lucene/Search/Query/Insignificant.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Search/Query/MultiTerm.php b/thirdparty/Zend/Search/Lucene/Search/Query/MultiTerm.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Search/Query/Phrase.php b/thirdparty/Zend/Search/Lucene/Search/Query/Phrase.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Search/Query/Preprocessing.php b/thirdparty/Zend/Search/Lucene/Search/Query/Preprocessing.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Search/Query/Preprocessing/Fuzzy.php b/thirdparty/Zend/Search/Lucene/Search/Query/Preprocessing/Fuzzy.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Search/Query/Preprocessing/Phrase.php b/thirdparty/Zend/Search/Lucene/Search/Query/Preprocessing/Phrase.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Search/Query/Preprocessing/Term.php b/thirdparty/Zend/Search/Lucene/Search/Query/Preprocessing/Term.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Search/Query/Range.php b/thirdparty/Zend/Search/Lucene/Search/Query/Range.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Search/Query/Term.php b/thirdparty/Zend/Search/Lucene/Search/Query/Term.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Search/Query/Wildcard.php b/thirdparty/Zend/Search/Lucene/Search/Query/Wildcard.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Search/QueryEntry.php b/thirdparty/Zend/Search/Lucene/Search/QueryEntry.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Search/QueryEntry/Phrase.php b/thirdparty/Zend/Search/Lucene/Search/QueryEntry/Phrase.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Search/QueryEntry/Subquery.php b/thirdparty/Zend/Search/Lucene/Search/QueryEntry/Subquery.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Search/QueryEntry/Term.php b/thirdparty/Zend/Search/Lucene/Search/QueryEntry/Term.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Search/QueryHit.php b/thirdparty/Zend/Search/Lucene/Search/QueryHit.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Search/QueryLexer.php b/thirdparty/Zend/Search/Lucene/Search/QueryLexer.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Search/QueryParser.php b/thirdparty/Zend/Search/Lucene/Search/QueryParser.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Search/QueryParserContext.php b/thirdparty/Zend/Search/Lucene/Search/QueryParserContext.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Search/QueryParserException.php b/thirdparty/Zend/Search/Lucene/Search/QueryParserException.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Search/QueryToken.php b/thirdparty/Zend/Search/Lucene/Search/QueryToken.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Search/Similarity.php b/thirdparty/Zend/Search/Lucene/Search/Similarity.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Search/Similarity/Default.php b/thirdparty/Zend/Search/Lucene/Search/Similarity/Default.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Search/Weight.php b/thirdparty/Zend/Search/Lucene/Search/Weight.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Search/Weight/Boolean.php b/thirdparty/Zend/Search/Lucene/Search/Weight/Boolean.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Search/Weight/Empty.php b/thirdparty/Zend/Search/Lucene/Search/Weight/Empty.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Search/Weight/MultiTerm.php b/thirdparty/Zend/Search/Lucene/Search/Weight/MultiTerm.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Search/Weight/Phrase.php b/thirdparty/Zend/Search/Lucene/Search/Weight/Phrase.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Search/Weight/Term.php b/thirdparty/Zend/Search/Lucene/Search/Weight/Term.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Storage/Directory.php b/thirdparty/Zend/Search/Lucene/Storage/Directory.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Storage/Directory/Filesystem.php b/thirdparty/Zend/Search/Lucene/Storage/Directory/Filesystem.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Storage/File.php b/thirdparty/Zend/Search/Lucene/Storage/File.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Storage/File/Filesystem.php b/thirdparty/Zend/Search/Lucene/Storage/File/Filesystem.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/Storage/File/Memory.php b/thirdparty/Zend/Search/Lucene/Storage/File/Memory.php old mode 100644 new mode 100755 diff --git a/thirdparty/Zend/Search/Lucene/TermStreamsPriorityQueue.php b/thirdparty/Zend/Search/Lucene/TermStreamsPriorityQueue.php old mode 100644 new mode 100755 diff --git a/thirdparty/_manifest_exclude b/thirdparty/_manifest_exclude old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/LGPL-LICENSE b/thirdparty/syntaxhighlighter/LGPL-LICENSE old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/MIT-LICENSE b/thirdparty/syntaxhighlighter/MIT-LICENSE old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/index.html b/thirdparty/syntaxhighlighter/index.html old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/scripts/shAutoloader.js b/thirdparty/syntaxhighlighter/scripts/shAutoloader.js old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/scripts/shBrushAS3.js b/thirdparty/syntaxhighlighter/scripts/shBrushAS3.js old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/scripts/shBrushAppleScript.js b/thirdparty/syntaxhighlighter/scripts/shBrushAppleScript.js old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/scripts/shBrushBash.js b/thirdparty/syntaxhighlighter/scripts/shBrushBash.js old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/scripts/shBrushCSharp.js b/thirdparty/syntaxhighlighter/scripts/shBrushCSharp.js old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/scripts/shBrushColdFusion.js b/thirdparty/syntaxhighlighter/scripts/shBrushColdFusion.js old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/scripts/shBrushCpp.js b/thirdparty/syntaxhighlighter/scripts/shBrushCpp.js old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/scripts/shBrushCss.js b/thirdparty/syntaxhighlighter/scripts/shBrushCss.js old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/scripts/shBrushDelphi.js b/thirdparty/syntaxhighlighter/scripts/shBrushDelphi.js old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/scripts/shBrushDiff.js b/thirdparty/syntaxhighlighter/scripts/shBrushDiff.js old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/scripts/shBrushErlang.js b/thirdparty/syntaxhighlighter/scripts/shBrushErlang.js old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/scripts/shBrushGroovy.js b/thirdparty/syntaxhighlighter/scripts/shBrushGroovy.js old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/scripts/shBrushJScript.js b/thirdparty/syntaxhighlighter/scripts/shBrushJScript.js old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/scripts/shBrushJava.js b/thirdparty/syntaxhighlighter/scripts/shBrushJava.js old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/scripts/shBrushJavaFX.js b/thirdparty/syntaxhighlighter/scripts/shBrushJavaFX.js old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/scripts/shBrushPerl.js b/thirdparty/syntaxhighlighter/scripts/shBrushPerl.js old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/scripts/shBrushPhp.js b/thirdparty/syntaxhighlighter/scripts/shBrushPhp.js old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/scripts/shBrushPlain.js b/thirdparty/syntaxhighlighter/scripts/shBrushPlain.js old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/scripts/shBrushPowerShell.js b/thirdparty/syntaxhighlighter/scripts/shBrushPowerShell.js old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/scripts/shBrushPython.js b/thirdparty/syntaxhighlighter/scripts/shBrushPython.js old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/scripts/shBrushRuby.js b/thirdparty/syntaxhighlighter/scripts/shBrushRuby.js old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/scripts/shBrushSass.js b/thirdparty/syntaxhighlighter/scripts/shBrushSass.js old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/scripts/shBrushScala.js b/thirdparty/syntaxhighlighter/scripts/shBrushScala.js old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/scripts/shBrushSql.js b/thirdparty/syntaxhighlighter/scripts/shBrushSql.js old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/scripts/shBrushVb.js b/thirdparty/syntaxhighlighter/scripts/shBrushVb.js old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/scripts/shBrushXml.js b/thirdparty/syntaxhighlighter/scripts/shBrushXml.js old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/scripts/shCore.js b/thirdparty/syntaxhighlighter/scripts/shCore.js old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/scripts/shLegacy.js b/thirdparty/syntaxhighlighter/scripts/shLegacy.js old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/src/shAutoloader.js b/thirdparty/syntaxhighlighter/src/shAutoloader.js old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/src/shCore.js b/thirdparty/syntaxhighlighter/src/shCore.js old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/src/shLegacy.js b/thirdparty/syntaxhighlighter/src/shLegacy.js old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/styles/shCore.css b/thirdparty/syntaxhighlighter/styles/shCore.css old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/styles/shCoreDefault.css b/thirdparty/syntaxhighlighter/styles/shCoreDefault.css old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/styles/shCoreDjango.css b/thirdparty/syntaxhighlighter/styles/shCoreDjango.css old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/styles/shCoreEclipse.css b/thirdparty/syntaxhighlighter/styles/shCoreEclipse.css old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/styles/shCoreEmacs.css b/thirdparty/syntaxhighlighter/styles/shCoreEmacs.css old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/styles/shCoreFadeToGrey.css b/thirdparty/syntaxhighlighter/styles/shCoreFadeToGrey.css old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/styles/shCoreMDUltra.css b/thirdparty/syntaxhighlighter/styles/shCoreMDUltra.css old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/styles/shCoreMidnight.css b/thirdparty/syntaxhighlighter/styles/shCoreMidnight.css old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/styles/shCoreRDark.css b/thirdparty/syntaxhighlighter/styles/shCoreRDark.css old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/styles/shThemeDefault.css b/thirdparty/syntaxhighlighter/styles/shThemeDefault.css old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/styles/shThemeDjango.css b/thirdparty/syntaxhighlighter/styles/shThemeDjango.css old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/styles/shThemeEclipse.css b/thirdparty/syntaxhighlighter/styles/shThemeEclipse.css old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/styles/shThemeEmacs.css b/thirdparty/syntaxhighlighter/styles/shThemeEmacs.css old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/styles/shThemeFadeToGrey.css b/thirdparty/syntaxhighlighter/styles/shThemeFadeToGrey.css old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/styles/shThemeMidnight.css b/thirdparty/syntaxhighlighter/styles/shThemeMidnight.css old mode 100644 new mode 100755 diff --git a/thirdparty/syntaxhighlighter/styles/shThemeRDark.css b/thirdparty/syntaxhighlighter/styles/shThemeRDark.css old mode 100644 new mode 100755