diff --git a/.gitmodules b/.gitmodules index 841758b7ed2..7107ba09c8e 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,4 +1,3 @@ -[submodule "webhelp-template"] - path = webhelp-template - url = git://git.labs.intellij.net/sites/webhelp-template - branch = subdirs-support +[submodule "sdkdocs-template"] + path = sdkdocs-template + url = https://github.com/JetBrains/sdkdocs-template.git diff --git a/Gemfile b/Gemfile new file mode 100644 index 00000000000..8d99cdc60fc --- /dev/null +++ b/Gemfile @@ -0,0 +1 @@ +eval File.read('sdkdocs-template/bundler/Gemfile.defaults') diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 00000000000..800737ffdfb --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,78 @@ +GEM + remote: https://rubygems.org/ + specs: + blankslate (2.1.2.4) + celluloid (0.16.0) + timers (~> 4.0.0) + classifier-reborn (2.0.3) + fast-stemmer (~> 1.0) + coffee-script (2.4.1) + coffee-script-source + execjs + coffee-script-source (1.9.1.1) + colorator (0.1) + execjs (2.5.2) + fast-stemmer (1.0.2) + ffi (1.9.10) + hitimes (1.2.2) + jekyll (2.5.3) + classifier-reborn (~> 2.0) + colorator (~> 0.1) + jekyll-coffeescript (~> 1.0) + jekyll-gist (~> 1.0) + jekyll-paginate (~> 1.0) + jekyll-sass-converter (~> 1.0) + jekyll-watch (~> 1.1) + kramdown (~> 1.3) + liquid (~> 2.6.1) + mercenary (~> 0.3.3) + pygments.rb (~> 0.6.0) + redcarpet (~> 3.1) + safe_yaml (~> 1.0) + toml (~> 0.1.0) + jekyll-coffeescript (1.0.1) + coffee-script (~> 2.2) + jekyll-gist (1.2.1) + jekyll-git_metadata (0.0.3) + jekyll (~> 2.0) + jekyll-paginate (1.1.0) + jekyll-redirect-from (0.8.0) + jekyll (>= 2.0) + jekyll-sass-converter (1.3.0) + sass (~> 3.2) + jekyll-watch (1.2.1) + listen (~> 2.7) + kramdown (1.8.0) + liquid (2.6.2) + listen (2.10.1) + celluloid (~> 0.16.0) + rb-fsevent (>= 0.9.3) + rb-inotify (>= 0.9) + mercenary (0.3.5) + parslet (1.5.0) + blankslate (~> 2.0) + posix-spawn (0.3.11) + pygments.rb (0.6.3) + posix-spawn (~> 0.3.6) + yajl-ruby (~> 1.2.0) + rake (10.4.2) + rb-fsevent (0.9.5) + rb-inotify (0.9.5) + ffi (>= 0.5.0) + redcarpet (3.3.2) + safe_yaml (1.0.4) + sass (3.4.15) + timers (4.0.1) + hitimes + toml (0.1.2) + parslet (~> 1.5.0) + yajl-ruby (1.2.1) + +PLATFORMS + ruby + +DEPENDENCIES + jekyll + jekyll-git_metadata + jekyll-redirect-from + rake diff --git a/Rakefile b/Rakefile index 644752cf654..f0e4973de63 100644 --- a/Rakefile +++ b/Rakefile @@ -1,3 +1,5 @@ +Rake.add_rakelib 'sdkdocs-template/rakelib' + CONFIG = { :source_dir => __dir__, :tmp_dir => "#{__dir__}/_tmp", @@ -6,9 +8,3 @@ CONFIG = { :preview_port => 4000, :default_env => 'dev' } - -Dir['_rake/*.rake'].each { |r| load r } - -task :default do - system('rake -T') -end \ No newline at end of file diff --git a/_SUMMARY.md b/_SUMMARY.md index b23d28d4021..a18e6b31928 100644 --- a/_SUMMARY.md +++ b/_SUMMARY.md @@ -1,146 +1,141 @@ - -* [IntelliJ Platform SDK](index.html) - * [Quick Start Guide](basics.html) - * [Main Types of IntelliJ IDEA Plugins](basics/types_of_plugins.html) - * [Creating Your First Plugin](basics/getting_started.html) - * [Setting Up Development Environment](basics/getting_started/setting_up_environment.html) - * [Creating a Plugin Project](basics/getting_started/creating_plugin_project.html) - * [Build Number Ranges](basics/getting_started/build_number_ranges.html) - * [Running and Debugging a Plugin](basics/getting_started/running_and_debugging_a_plugin.html) - * [Deploying a Plugin](basics/getting_started/deploying_plugin.html) - * [Plugin Compatibility with IntelliJ Platform Products](basics/getting_started/plugin_compatibility.html) - * [Plugin Structure](basics/plugin_structure.html) - * [Plugin Content](basics/plugin_structure/plugin_content.html) - * [Plugin Class Loaders](basics/plugin_structure/plugin_class_loaders.html) - * [Plugin Components](basics/plugin_structure/plugin_components.html) - * [Plugin Extensions and Extension Points](basics/plugin_structure/plugin_extensions_and_extension_points.html) - * [Plugin Actions](basics/plugin_structure/plugin_actions.html) - * [Plugin Services](basics/plugin_structure/plugin_services.html) - * [Plugin Configuration File](basics/plugin_structure/plugin_configuration_file.html) - * [Plugin Dependencies](basics/plugin_structure/plugin_dependencies.html) - * [Architectural Overview](basics/architectural_overview.html) - * [General Threading Rules](basics/architectural_overview/general_threading_rules.html) - * [Virtual Files](basics/architectural_overview/virtual_file.html) - * [Documents](basics/architectural_overview/documents.html) - * [PSI Files](basics/architectural_overview/psi_files.html) - * [File View Providers](basics/architectural_overview/file_view_providers.html) - * [PSI Elements](basics/architectural_overview/psi_elements.html) - * [Project Structure](basics/project_structure.html) - * [Action System](basics/action_system.html) - * [Persisting State of Components](basics/persisting_state_of_components.html) - * [PSI Cookbook](basics/psi_cookbook.html) - * [Virtual File System](basics/virtual_file_system.html) - * [Check Out And Build Community Edition](basics/checkout_and_build_community.html) - * [IDE Settings, Caches, Logs, and Plugins](basics/settings_caches_logs.html) - * [Indexing and PSI Stubs](basics/indexing_and_psi_stubs.html) - * [File-based indexes](basics/indexing_and_psi_stubs/file_based_indexes.html) - * [Stub indexes](basics/indexing_and_psi_stubs/stub_indexes.html) - * [Run Configurations](basics/run_configurations.html) - * [Run Configuration Management](basics/run_configurations/run_configuration_management.html) - * [Execution](basics/run_configurations/run_configuration_execution.html) - * [Testing Plugins](basics/testing_plugins.html) - * [Tests and Fixtures](basics/testing_plugins/tests_and_fixtures.html) - * [Light and Heavy Tests](basics/testing_plugins/light_and_heavy_tests.html) - * [Test Project and Testdata Directories](basics/testing_plugins/test_project_and_testdata_directories.html) - * [Writing Tests](basics/testing_plugins/writing_tests.html) - * [Testing Highlighting](basics/testing_plugins/testing_highlighting.html) - * [Architecture Reference Guide](reference_guide.html) - * [Project Model](reference_guide/project_model.html) - * [Project](reference_guide/project_model/project.html) - * [Module](reference_guide/project_model/module.html) - * [SDK](reference_guide/project_model/sdk.html) - * [Library](reference_guide/project_model/library.html) - * [Facet](reference_guide/project_model/facet.html) - * [Project Wizard](reference_guide/project_wizard.html) - * [Custom Language Support](reference_guide/custom_language_support.html) - * [Registering File Type](reference_guide/custom_language_support/registering_file_type.html) - * [Implementing Lexer](reference_guide/custom_language_support/implementing_lexer.html) - * [Implementing Parser and PSI](reference_guide/custom_language_support/implementing_parser_and_psi.html) - * [Syntax Highlighting and Error Highlighting](reference_guide/custom_language_support/syntax_highlighting_and_error_highlighting.html) - * [References and Resolve](reference_guide/custom_language_support/references_and_resolve.html) - * [Code Completion](reference_guide/custom_language_support/code_completion.html) - * [Find Usages](reference_guide/custom_language_support/find_usages.html) - * [Rename Refactoring](reference_guide/custom_language_support/rename_refactoring.html) - * [Safe Delete Refactoring](reference_guide/custom_language_support/safe_delete_refactoring.html) - * [Code Formatter](reference_guide/custom_language_support/code_formatting.html) - * [Code Inspections and Intentions](reference_guide/custom_language_support/code_inspections_and_intentions.html) - * [Structure View](reference_guide/custom_language_support/structure_view.html) - * [Surround With](reference_guide/custom_language_support/surround_with.html) - * [Go to Class and Go to Symbol](reference_guide/custom_language_support/go_to_class_and_go_to_symbol.html) - * [Documentation](reference_guide/custom_language_support/documentation.html) - * [Additional Minor Features](reference_guide/custom_language_support/additional_minor_features.html) - * [Frameworks and External APIs](reference_guide/frameworks_and_external_apis.html) - * [XML DOM API](reference_guide/frameworks_and_external_apis/xml_dom_api.html) - * [Spring API](reference_guide/frameworks_and_external_apis/spring_api.html) - * [External Builder API and Plugins](reference_guide/frameworks_and_external_apis/external_builder_api.html) - * [VCS Integration Plugins](reference_guide/vcs_integration_for_plugins.html) - * [Localization Guide](reference_guide/localization_guide.html) - * [Messaging Infrastructure](reference_guide/messaging_infrastructure.html) - * [Multiple Carets](reference_guide/multiple_carets.html) - * [Color Scheme Management](reference_guide/color_scheme_management.html) - * [Work with Icons and Images](reference_guide/work_with_icons_and_images.html) - * [Tomcat Integration](reference_guide/tomcat_integration.html) - * [User Interface Components](user_interface_components/user_interface_components.html) - * [Tool Windows](user_interface_components/tool_windows.html) - * [Dialogs](user_interface_components/dialog_wrapper.html) - * [Popups](user_interface_components/popups.html) - * [Notifications](user_interface_components/notifications.html) - * [File and Class Choosers](user_interface_components/file_and_class_choosers.html) - * [Editor Components](user_interface_components/editor_components.html) - * [List and Tree Controls](user_interface_components/lists_and_trees.html) - * [Miscellaneous Swing Components](user_interface_components/misc_swing_components.html) - * [PHPStorm and WebStorm](phpstorm_and_webstorm.html) - * [Tutorials](tutorials.html) - * [Custom Language Support](tutorials/custom_language_support_tutorial.html) - * [1. Prerequisites](tutorials/custom_language_support/prerequisites.html) - * [2. Language and File Type](tutorials/custom_language_support/language_and_filetype.html) - * [3. Grammar and Parser](tutorials/custom_language_support/grammar_and_parser.html) - * [4. Lexer and Parser Definition](tutorials/custom_language_support/lexer_and_parser_definition.html) - * [5. Syntax Highlighter and Color Settings Page](tutorials/custom_language_support/syntax_highlighter_and_color_settings_page.html) - * [6. PSI Helpers and Utilities](tutorials/custom_language_support/psi_helper_and_utilities.html) - * [7. Annotator](tutorials/custom_language_support/annotator.html) - * [8. Line Marker Provider](tutorials/custom_language_support/line_marker_provider.html) - * [9. Completion Contributor](tutorials/custom_language_support/completion_contributor.html) - * [10. Reference Contributor](tutorials/custom_language_support/reference_contributor.html) - * [11. Find Usages Provider](tutorials/custom_language_support/find_usages_provider.html) - * [12. Folding Builder](tutorials/custom_language_support/folding_builder.html) - * [13. Go To Symbol Contributor](tutorials/custom_language_support/go_to_symbol_contributor.html) - * [14. Structure View Factory](tutorials/custom_language_support/structure_view_factory.html) - * [15. Formatter](tutorials/custom_language_support/formatter.html) - * [16. Code Style Settings](tutorials/custom_language_support/code_style_settings.html) - * [17. Commenter](tutorials/custom_language_support/commenter.html) - * [18. Quick Fix](tutorials/custom_language_support/quick_fix.html) - * [Writing Tests For Plugins](tutorials/writing_tests_for_plugins.html) - * [1. Tests Prerequisites](tutorials/writing_tests_for_plugins/tests_prerequisites.html) - * [2. Parsing Test](tutorials/writing_tests_for_plugins/parsing_test.html) - * [3. Completion Test](tutorials/writing_tests_for_plugins/completion_test.html) - * [4. Annotator Test](tutorials/writing_tests_for_plugins/annotator_test.html) - * [5. Formatter Test](tutorials/writing_tests_for_plugins/formatter_test.html) - * [6. Rename Test](tutorials/writing_tests_for_plugins/rename_test.html) - * [7. Folding Test](tutorials/writing_tests_for_plugins/folding_test.html) - * [8. Find Usages Test](tutorials/writing_tests_for_plugins/find_usages_test.html) - * [9. Commenter Test](tutorials/writing_tests_for_plugins/commenter_test.html) - * [10. Reference Test](tutorials/writing_tests_for_plugins/reference_test.html) - * [Action System](tutorials/action_system.html) - * [1. Working With Custom Actions](tutorials/action_system/working_with_custom_actions.html) - * [2. Grouping Actions](tutorials/action_system/grouping_action.html) - * [Editor Basics](tutorials/editor_basics.html) - * [1. Working With Text](tutorials/editor_basics/working_with_text.html) - * [2. Editor Coordinates System. Positions And Offsets](tutorials/editor_basics/coordinates_system.html) - * [3. Handling Editor Events](tutorials/editor_basics/editor_events.html) - * [Project Wizard](tutorials/project_wizard.html) - * [Adding New Steps to Project Wizard](tutorials/project_wizard/adding_new_steps.html) - * [Supporting Module Types](tutorials/project_wizard/module_types.html) - - * [Run Configurations](tutorials/run_configurations.html) - * [Supporting Frameworks](tutorials/framework.html) - * [Tree Structure View](tutorials/tree_structure_view.html) - * [Plugin Development FAQ](faq.html) - * [Contribution Guidelines](CONTRIBUTING.html) +* [IntelliJ Platform SDK](index.md) + * [Quick Start Guide](basics.md) + * [Main Types of IntelliJ IDEA Plugins](basics/types_of_plugins.md) + * [Creating Your First Plugin](basics/getting_started.md) + * [Setting Up Development Environment](basics/getting_started/setting_up_environment.md) + * [Creating a Plugin Project](basics/getting_started/creating_plugin_project.md) + * [Build Number Ranges](basics/getting_started/build_number_ranges.md) + * [Running and Debugging a Plugin](basics/getting_started/running_and_debugging_a_plugin.md) + * [Deploying a Plugin](basics/getting_started/deploying_plugin.md) + * [Plugin Compatibility with IntelliJ Platform Products](basics/getting_started/plugin_compatibility.md) + * [Plugin Structure](basics/plugin_structure.md) + * [Plugin Content](basics/plugin_structure/plugin_content.md) + * [Plugin Class Loaders](basics/plugin_structure/plugin_class_loaders.md) + * [Plugin Components](basics/plugin_structure/plugin_components.md) + * [Plugin Extensions and Extension Points](basics/plugin_structure/plugin_extensions_and_extension_points.md) + * [Plugin Actions](basics/plugin_structure/plugin_actions.md) + * [Plugin Services](basics/plugin_structure/plugin_services.md) + * [Plugin Configuration File](basics/plugin_structure/plugin_configuration_file.md) + * [Plugin Dependencies](basics/plugin_structure/plugin_dependencies.md) + * [Architectural Overview](basics/architectural_overview.md) + * [General Threading Rules](basics/architectural_overview/general_threading_rules.md) + * [Virtual Files](basics/architectural_overview/virtual_file.md) + * [Documents](basics/architectural_overview/documents.md) + * [PSI Files](basics/architectural_overview/psi_files.md) + * [File View Providers](basics/architectural_overview/file_view_providers.md) + * [PSI Elements](basics/architectural_overview/psi_elements.md) + * [Project Structure](basics/project_structure.md) + * [Action System](basics/action_system.md) + * [Persisting State of Components](basics/persisting_state_of_components.md) + * [PSI Cookbook](basics/psi_cookbook.md) + * [Virtual File System](basics/virtual_file_system.md) + * [Check Out And Build Community Edition](basics/checkout_and_build_community.md) + * [IDE Settings, Caches, Logs, and Plugins](basics/settings_caches_logs.md) + * [Indexing and PSI Stubs](basics/indexing_and_psi_stubs.md) + * [File-based indexes](basics/indexing_and_psi_stubs/file_based_indexes.md) + * [Stub indexes](basics/indexing_and_psi_stubs/stub_indexes.md) + * [Run Configurations](basics/run_configurations.md) + * [Run Configuration Management](basics/run_configurations/run_configuration_management.md) + * [Execution](basics/run_configurations/run_configuration_execution.md) + * [Testing Plugins](basics/testing_plugins.md) + * [Tests and Fixtures](basics/testing_plugins/tests_and_fixtures.md) + * [Light and Heavy Tests](basics/testing_plugins/light_and_heavy_tests.md) + * [Test Project and Testdata Directories](basics/testing_plugins/test_project_and_testdata_directories.md) + * [Writing Tests](basics/testing_plugins/writing_tests.md) + * [Testing Highlighting](basics/testing_plugins/testing_highlighting.md) + * [Architecture Reference Guide](reference_guide.md) + * [Project Model](reference_guide/project_model.md) + * [Project](reference_guide/project_model/project.md) + * [Module](reference_guide/project_model/module.md) + * [SDK](reference_guide/project_model/sdk.md) + * [Library](reference_guide/project_model/library.md) + * [Facet](reference_guide/project_model/facet.md) + * [Project Wizard](reference_guide/project_wizard.md) + * [Custom Language Support](reference_guide/custom_language_support.md) + * [Registering File Type](reference_guide/custom_language_support/registering_file_type.md) + * [Implementing Lexer](reference_guide/custom_language_support/implementing_lexer.md) + * [Implementing Parser and PSI](reference_guide/custom_language_support/implementing_parser_and_psi.md) + * [Syntax Highlighting and Error Highlighting](reference_guide/custom_language_support/syntax_highlighting_and_error_highlighting.md) + * [References and Resolve](reference_guide/custom_language_support/references_and_resolve.md) + * [Code Completion](reference_guide/custom_language_support/code_completion.md) + * [Find Usages](reference_guide/custom_language_support/find_usages.md) + * [Rename Refactoring](reference_guide/custom_language_support/rename_refactoring.md) + * [Safe Delete Refactoring](reference_guide/custom_language_support/safe_delete_refactoring.md) + * [Code Formatter](reference_guide/custom_language_support/code_formatting.md) + * [Code Inspections and Intentions](reference_guide/custom_language_support/code_inspections_and_intentions.md) + * [Structure View](reference_guide/custom_language_support/structure_view.md) + * [Surround With](reference_guide/custom_language_support/surround_with.md) + * [Go to Class and Go to Symbol](reference_guide/custom_language_support/go_to_class_and_go_to_symbol.md) + * [Documentation](reference_guide/custom_language_support/documentation.md) + * [Additional Minor Features](reference_guide/custom_language_support/additional_minor_features.md) + * [Frameworks and External APIs](reference_guide/frameworks_and_external_apis.md) + * [XML DOM API](reference_guide/frameworks_and_external_apis/xml_dom_api.md) + * [Spring API](reference_guide/frameworks_and_external_apis/spring_api.md) + * [External Builder API and Plugins](reference_guide/frameworks_and_external_apis/external_builder_api.md) + * [VCS Integration Plugins](reference_guide/vcs_integration_for_plugins.md) + * [Localization Guide](reference_guide/localization_guide.md) + * [Messaging Infrastructure](reference_guide/messaging_infrastructure.md) + * [Multiple Carets](reference_guide/multiple_carets.md) + * [Color Scheme Management](reference_guide/color_scheme_management.md) + * [Work with Icons and Images](reference_guide/work_with_icons_and_images.md) + * [Tomcat Integration](reference_guide/tomcat_integration.md) + * [User Interface Components](user_interface_components/user_interface_components.md) + * [Tool Windows](user_interface_components/tool_windows.md) + * [Dialogs](user_interface_components/dialog_wrapper.md) + * [Popups](user_interface_components/popups.md) + * [Notifications](user_interface_components/notifications.md) + * [File and Class Choosers](user_interface_components/file_and_class_choosers.md) + * [Editor Components](user_interface_components/editor_components.md) + * [List and Tree Controls](user_interface_components/lists_and_trees.md) + * [Miscellaneous Swing Components](user_interface_components/misc_swing_components.md) + * [PHPStorm and WebStorm](phpstorm_and_webstorm.md) + * [Tutorials](tutorials.md) + * [Custom Language Support](tutorials/custom_language_support_tutorial.md) + * [1. Prerequisites](tutorials/custom_language_support/prerequisites.md) + * [2. Language and File Type](tutorials/custom_language_support/language_and_filetype.md) + * [3. Grammar and Parser](tutorials/custom_language_support/grammar_and_parser.md) + * [4. Lexer and Parser Definition](tutorials/custom_language_support/lexer_and_parser_definition.md) + * [5. Syntax Highlighter and Color Settings Page](tutorials/custom_language_support/syntax_highlighter_and_color_settings_page.md) + * [6. PSI Helpers and Utilities](tutorials/custom_language_support/psi_helper_and_utilities.md) + * [7. Annotator](tutorials/custom_language_support/annotator.md) + * [8. Line Marker Provider](tutorials/custom_language_support/line_marker_provider.md) + * [9. Completion Contributor](tutorials/custom_language_support/completion_contributor.md) + * [10. Reference Contributor](tutorials/custom_language_support/reference_contributor.md) + * [11. Find Usages Provider](tutorials/custom_language_support/find_usages_provider.md) + * [12. Folding Builder](tutorials/custom_language_support/folding_builder.md) + * [13. Go To Symbol Contributor](tutorials/custom_language_support/go_to_symbol_contributor.md) + * [14. Structure View Factory](tutorials/custom_language_support/structure_view_factory.md) + * [15. Formatter](tutorials/custom_language_support/formatter.md) + * [16. Code Style Settings](tutorials/custom_language_support/code_style_settings.md) + * [17. Commenter](tutorials/custom_language_support/commenter.md) + * [18. Quick Fix](tutorials/custom_language_support/quick_fix.md) + * [Writing Tests For Plugins](tutorials/writing_tests_for_plugins.md) + * [1. Tests Prerequisites](tutorials/writing_tests_for_plugins/tests_prerequisites.md) + * [2. Parsing Test](tutorials/writing_tests_for_plugins/parsing_test.md) + * [3. Completion Test](tutorials/writing_tests_for_plugins/completion_test.md) + * [4. Annotator Test](tutorials/writing_tests_for_plugins/annotator_test.md) + * [5. Formatter Test](tutorials/writing_tests_for_plugins/formatter_test.md) + * [6. Rename Test](tutorials/writing_tests_for_plugins/rename_test.md) + * [7. Folding Test](tutorials/writing_tests_for_plugins/folding_test.md) + * [8. Find Usages Test](tutorials/writing_tests_for_plugins/find_usages_test.md) + * [9. Commenter Test](tutorials/writing_tests_for_plugins/commenter_test.md) + * [10. Reference Test](tutorials/writing_tests_for_plugins/reference_test.md) + * [Action System](tutorials/action_system.md) + * [1. Working With Custom Actions](tutorials/action_system/working_with_custom_actions.md) + * [2. Grouping Actions](tutorials/action_system/grouping_action.md) + * [Editor Basics](tutorials/editor_basics.md) + * [1. Working With Text](tutorials/editor_basics/working_with_text.md) + * [2. Editor Coordinates System. Positions And Offsets](tutorials/editor_basics/coordinates_system.md) + * [3. Handling Editor Events](tutorials/editor_basics/editor_events.md) + * [Project Wizard](tutorials/project_wizard.md) + * [Adding New Steps to Project Wizard](tutorials/project_wizard/adding_new_steps.md) + * [Supporting Module Types](tutorials/project_wizard/module_types.md) + + * [Run Configurations](tutorials/run_configurations.md) + * [Supporting Frameworks](tutorials/framework.md) + * [Tree Structure View](tutorials/tree_structure_view.md) + * [Plugin Development FAQ](faq.md) + * [Contribution Guidelines](CONTRIBUTING.md) diff --git a/_config.yml b/_config.yml index 63c3eec33e3..3afbe61c89a 100644 --- a/_config.yml +++ b/_config.yml @@ -1,29 +1,6 @@ +--- product_name: IntelliJ Platform SDK product_version: -search_scope: intellij-sdk-docs -use_side_blocks: true -show_disqus: false +product_type: DevGuide -webhelp_app_baseurl: / -markdown: kramdown -markdown_ext: foo -kramdown: - input: GFM2 - hard_wrap: false - auto_ids: false -highlighter: pygments - -exclude: - - '*.scss' - - '*.cwd' - - '*.iml' - - README* - - Rakefile - - webhelp-template - - code_samples - -defaults: - - values: - layout: 'webhelp' - -edit_on_github_url: https://github.com/JetBrains/intellij-sdk-docs/edit/master/%path% \ No newline at end of file +baseurl: / diff --git a/_config_prod.yml b/_config_prod.yml index ef2d8fff9b3..fa92b2aad0a 100644 --- a/_config_prod.yml +++ b/_config_prod.yml @@ -1 +1 @@ -webhelp_app_baseurl: /intellij/sdk/docs/ \ No newline at end of file +baseurl: /intellij/sdk/docs/ \ No newline at end of file diff --git a/_includes/edit-on-github-link.html b/_includes/edit-on-github-link.html deleted file mode 100644 index c67ad4c4112..00000000000 --- a/_includes/edit-on-github-link.html +++ /dev/null @@ -1,9 +0,0 @@ -{% assign path = page.path %} -{% if include.path %}{% assign path = include.path %}{% endif %} - - - Edit Page - \ No newline at end of file diff --git a/_includes/head.html b/_includes/head.html deleted file mode 100644 index f9f676967e8..00000000000 --- a/_includes/head.html +++ /dev/null @@ -1,5 +0,0 @@ - - - -{% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %} - \ No newline at end of file diff --git a/_includes/home-link.html b/_includes/home-link.html deleted file mode 100644 index ef2a8d69eff..00000000000 --- a/_includes/home-link.html +++ /dev/null @@ -1,6 +0,0 @@ - - Home - \ No newline at end of file diff --git a/_layouts/general.html b/_layouts/general.html deleted file mode 100644 index 0dcfe74b06a..00000000000 --- a/_layouts/general.html +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: webhelp ---- - -

{{ page.title }}

- -{{ content }} - -
-{% include edit-on-github-link.html %} -
-
-{% include home-link.html %} \ No newline at end of file diff --git a/_layouts/webhelp.html b/_layouts/webhelp.html deleted file mode 100644 index c606c7e36f5..00000000000 --- a/_layouts/webhelp.html +++ /dev/null @@ -1,31 +0,0 @@ -{% capture _t %} - {% assign product_name = site.product_name %} - {% assign product_version = site.product_version %} - {% assign page_title = page.title %} - {% assign page_title_with_h1 = '' %} - {% assign page_id = page.url %} - {% assign page_content = content %} - {% capture shortcut_switcher %} -
-
- {% endcapture %} - {% assign is_show_shortcut_switcher = 'false' %} - {% assign current_year = 'now' | date:'%Y' %} - {% assign last_modified = '' %} - {% assign disqus = '' %} - {% assign app_baseurl = site.webhelp_app_baseurl %} -{% endcapture %} -{% capture rendered_content %}{% include page.html %}{% endcapture %} -{{ rendered_content }} \ No newline at end of file diff --git a/_plugins/copy_area.rb b/_plugins/copy_area.rb deleted file mode 100644 index 6de6dcdf9e7..00000000000 --- a/_plugins/copy_area.rb +++ /dev/null @@ -1,21 +0,0 @@ -class CopyToClipboard < Liquid::Tag - def initialize(tagName, markup, tokens) - super - - @text = markup - end - - def render(context) - text = @text.strip.gsub(/^'|"/, '').gsub(/'|"$/, '') - - <<-HTML -
-
-
#{text}
-
-
- HTML - end - - Liquid::Template.register_tag "copyArea", self -end \ No newline at end of file diff --git a/_plugins/markdown_converter.rb b/_plugins/markdown_converter.rb deleted file mode 100644 index 18173596792..00000000000 --- a/_plugins/markdown_converter.rb +++ /dev/null @@ -1,154 +0,0 @@ -require 'kramdown' -require 'pygments' - -module Kramdown - module Converter - class Upsrc < Html - - def convert_header(el, indent) - attr = el.attr.dup - el_id = generate_id(el.options[:raw_text]) - - if @options[:auto_ids] && !attr['id'] - attr['id'] = el_id - end - @toc << [el.options[:level], attr['id'], el.children] if attr['id'] && in_toc?(el) - level = output_header_level(el.options[:level]) - - if level <= 3 - anchor = Element.new(:a, nil, {'href' => '#' + el_id, 'class' => 'anchor-link'}) - el.children.push(anchor) - end - - anchor = format_as_block_html("a", {'name' => el_id, 'class' => 'elem-anchor'}, inner(Element.new(:a, nil), indent), indent) - header = format_as_block_html("h#{level}", attr, inner(el, indent), indent) - anchor + header - end - - def convert_codeblock(el, indent) - attr = el.attr.dup - lang = self.extract_code_language(attr) || 'text' - highlight_lines = '' - - if attr['class'] and attr['class'].scan(/\{[\d\-\,]+\}/).length > 0 - lang_parts = attr['class'].split('{') - highlight_lines = "{#{lang_parts[1]}" - end - - code = pygmentize(el.value, lang, highlight_lines) - code_attr = {} - code_attr['class'] = "code-block__wrapper" - code_attr['class'] += " code-block _highlighted lang_#{lang}" if lang - - "
#{code}
\n" - end - - # Extract the code block/span language from the attributes. - def extract_code_language(attr) - if attr['class'] - class_attr = attr['class'] - - if class_attr.scan(/\{|\}/).length > 0 - class_attr = class_attr.split('{')[0] - end - - class_attr.scan(/\blanguage-(\w+)\b/).first.first - end - end - - def convert_codespan(el, indent) - attr = el.attr.dup - lang = extract_code_language!(attr) || 'text' - code = pygmentize(el.value, lang) - attr['class'] = 'code' - attr['class'] += " highlight language-#{lang}" if lang - "#{code}" - end - - def convert_blockquote(el, indent) - format_as_indented_block_html(el.type, el.attr, inner(el, indent), indent) - end - - def convert_a(el, indent) - res = inner(el, indent) - attr = el.attr.dup - attr['href'] = '' if attr['href'].nil? - is_external = attr['href'].start_with?('http://', 'https://', 'ftp://', '//') - attr['data-bypass'] = 'yes' if is_external - if attr['href'].start_with?('mailto:') - mail_addr = attr['href'][7..-1] - attr['href'] = obfuscate('mailto') << ":" << obfuscate(mail_addr) - res = obfuscate(res) if res == mail_addr - end - format_as_span_html(el.type, attr, "#{res}") - end - - def convert_img(el, indent) - "" - end - - def pygmentize(code, lang, highlight_lines = nil) - hl_lines = '' - - if highlight_lines - hl_lines = highlight_lines.gsub(/[{}]/, '').split(',').map do |ln| - if matches = /(\d+)-(\d+)/.match(ln) - ln = Range.new(matches[1], matches[2]).to_a.join(' ') - end - ln - end.join(' ') - end - - if lang - Pygments.highlight(code, - :lexer => lang, - :options => { - :encoding => 'utf-8', - :nowrap => true, - :hl_lines => hl_lines - } - ) - else - escape_html(code) - end - end - end - end - - module Parser - class GFM2 < GFM - def parse - super - end - - FENCED_CODEBLOCK_MATCH = /^(([~`]){3,})\s*?(\w+[\{\}\,\d\-]*?)?\s*?\n(.*?)^\1\2*\s*?\n/m - end - end - -end - -module Jekyll - class KramdownPygments < Jekyll::Converter - def matches(ext) - ext =~ /^\.md$/i - end - - def output_ext(ext) - ".html" - end - - def convert(content) - html = Kramdown::Document.new(content, { - :auto_ids => @config['kramdown']['auto_ids'], - :footnote_nr => @config['kramdown']['footnote_nr'], - :hard_wrap => @config['kramdown']['hard_wrap'], - :entity_output => @config['kramdown']['entity_output'], - :toc_levels => @config['kramdown']['toc_levels'], - :smart_quotes => @config['kramdown']['smart_quotes'], - :coderay_default_lang => @config['kramdown']['default_lang'], - :input => @config['kramdown']['input'] - }).to_upsrc - return html - end - end -end \ No newline at end of file diff --git a/_rake/build.rake b/_rake/build.rake deleted file mode 100644 index 96638be2190..00000000000 --- a/_rake/build.rake +++ /dev/null @@ -1,11 +0,0 @@ -desc 'Build docs' -task :build do - dest = ENV['dest'] || CONFIG[:build_destination] - - Rake::Task['build_toc'].invoke - Rake::Task['build_ui_config'].invoke - Rake::Task['prepare_assets'].invoke - - command = "jekyll build --trace --destination=#{dest} --config _config.yml,_config_prod.yml" - sh command -end \ No newline at end of file diff --git a/_rake/build_toc.rake b/_rake/build_toc.rake deleted file mode 100644 index 8db18c67cfb..00000000000 --- a/_rake/build_toc.rake +++ /dev/null @@ -1,28 +0,0 @@ -desc 'Build docs table of contents index' -task :build_toc do - src_dir = CONFIG[:source_dir] - toc_file = ENV['dest'] || "#{src_dir}/HelpTOC.json" - - load "#{src_dir}/_rake/lib/toc_generator.rb" - load "#{src_dir}/_rake/lib/summary_checker.rb" - - kramdown_config = YAML::load_file("#{src_dir}/_config.yml")['kramdown'] - toc = Docs::TocGenerator.extract("#{src_dir}/_SUMMARY.md", kramdown_config) - missing_files = Docs::SummaryChecker.check("#{src_dir}/_SUMMARY.md") - - puts "Checking _SUMMARY.md\n" - - if missing_files.size > 0 - msg = ['Error, following files are missing:'] - missing_files.each do |file| - msg.push "- #{file}" - end - - raise (msg.join("\n")) - else - puts "_SUMMARY.md is OK" - end - - res = File.write("#{toc_file}", toc.to_json) - puts "TOC successfully created in #{toc_file}" if res -end \ No newline at end of file diff --git a/_rake/build_ui_config.rake b/_rake/build_ui_config.rake deleted file mode 100644 index 96a6bb22d0b..00000000000 --- a/_rake/build_ui_config.rake +++ /dev/null @@ -1,19 +0,0 @@ -desc 'Build config for UI' -task :build_ui_config do - require 'yaml' - require 'json' - - src_dir = CONFIG[:source_dir] - ui_config_file_path = ENV['dest'] || "#{src_dir}/config.json" - docs_config = YAML::load_file("#{src_dir}/_config.yml") - - ui_config = { - :productName => docs_config['product_name'], - :searchScope => docs_config['search_scope'], - :useSideblocks => docs_config['use_side_blocks'], - :showDisqus => docs_config['show_disqus'], - } - - res = File.write("#{ui_config_file_path}", ui_config.to_json) - puts "UI config successfully created in #{ui_config_file_path}" if res -end \ No newline at end of file diff --git a/_rake/lib/broken_links_checker.rb b/_rake/lib/broken_links_checker.rb deleted file mode 100644 index 063fee3429e..00000000000 --- a/_rake/lib/broken_links_checker.rb +++ /dev/null @@ -1,26 +0,0 @@ -require 'rexml/xpath' -require_relative './lic/markdown' - -module Docs - class SummaryChecker - def self.check(path) - xml = Docs::Utils.md2xml(path) - dir = File.dirname(path) - is_ok = true - missing_files = [] - - xml.elements.each("//a") do |link| - href = link.attribute('href').to_s - path = "#{dir}/#{href.gsub(/\.html$/, '.md')}" - - if !File.file?(path) - is_ok = false unless is_ok - missing_files.push href - break - end - end - - missing_files - end - end -end \ No newline at end of file diff --git a/_rake/lib/summary_checker.rb b/_rake/lib/summary_checker.rb deleted file mode 100644 index c33fda3f5f9..00000000000 --- a/_rake/lib/summary_checker.rb +++ /dev/null @@ -1,27 +0,0 @@ -require 'rexml/xpath' -require_relative './util/markdown' - -module Docs - class SummaryChecker - def self.check(path) - xml = Docs::Utils.md2xml(path) - dir = File.dirname(path) - is_ok = true - missing_files = [] - - xml.elements.each("//a") do |link| - href = link.attribute('href').to_s - is_external = href.start_with?('http://', 'https://', 'ftp://', '//') - path = "#{dir}/#{href.gsub(/\.html$/, '.md')}" - - if !is_external and !File.file?(path) - is_ok = false unless is_ok - missing_files.push href - break - end - end - - missing_files - end - end -end \ No newline at end of file diff --git a/_rake/lib/toc_generator.rb b/_rake/lib/toc_generator.rb deleted file mode 100644 index 3f51768fdf7..00000000000 --- a/_rake/lib/toc_generator.rb +++ /dev/null @@ -1,107 +0,0 @@ -require 'yaml' -require 'json' -require 'uri' -require 'kramdown' -require 'rexml/document' -require 'rexml/xpath' -require_relative './util/markdown' - -module Docs - class TocGenerator - - ITEM_TYPE_HEADER = 'header' - - # @param path {String} path to Markdown file - # @param kramdown_config {Hash} Kramdown config - # @return {Hash} - def self.extract(path, kramdown_config = {}) - toc = [] - xml = Docs::Utils.md2xml(path) - xml.elements.each("/root/*") do |node| - items = extract_from_node(node) - toc.concat(items) if items != nil - end - - # Removing headers of empty sections - delete_list = [] - (0).upto(toc.length-1) do |i| - item = toc[i] - prev = toc[i-1] != nil ? toc[i-1] : nil - item_is_header = (item[:type] != nil and item[:type] == self::ITEM_TYPE_HEADER) - prev_is_header = (prev != nil and prev[:type] != nil and prev[:type] == self::ITEM_TYPE_HEADER) - - if item_is_header and prev_is_header - delete_list.push(i-1) - end - end - - delete_list.each do |del_index| - toc.delete_at(del_index) - end - - return toc - end - - - private - # @param node {REXML::Node} - # @return {Hash} - def self.extract_from_node(node) - items = [] - - case node.name - when 'ul' - REXML::XPath.each(node, './li') do |node| - item = extract_items(node) - items.push(item) if item != nil - end - - when 'h2' - items.push(extract_header(node)) - end - - return items.length > 0 ? items : nil - end - - # @param node {REXML::Node} - # @return {Hash} - def self.extract_header(header_node) - return { - :title => header_node.text(), - :type => self::ITEM_TYPE_HEADER - } - end - - # @param node {REXML::Node} - # @return {Hash} - def self.extract_items(li_node) - item = nil - - REXML::XPath.each(li_node, 'a') do |link| - href = link.attribute('href').to_s - uri = URI.parse(href) - is_absolute_path = href.start_with?('/') - is_external = href.start_with?('http://', 'https://', 'ftp://', '//') - id = href - id = '/' + id if !is_absolute_path - item = { - :id => id, - :title => link.text(), - :url => href - } - item[:is_external] = true if is_external - pages = [] - - REXML::XPath.each(li_node, 'ul/li') do |li| - subpages = extract_items(li) - pages.push(subpages) if subpages != nil - end - - item['pages'] = pages unless pages.empty? - end - - return item - end - - end -end \ No newline at end of file diff --git a/_rake/lib/util/erb.rb b/_rake/lib/util/erb.rb deleted file mode 100644 index 89ab3a31152..00000000000 --- a/_rake/lib/util/erb.rb +++ /dev/null @@ -1,25 +0,0 @@ -require 'ostruct' -require 'erb' - -module Docs - module Util - class Erb - - def self.render(path, data = {}) - vars = ErbBinding.new(data) - - erb_contents = File.read(path) - erb = ERB.new(erb_contents) - vars_binding = vars.send(:get_binding) - - erb.result(vars_binding) - end - - class ErbBinding < OpenStruct - def get_binding - binding - end - end - end - end -end \ No newline at end of file diff --git a/_rake/lib/util/markdown.rb b/_rake/lib/util/markdown.rb deleted file mode 100644 index f87d8392c0f..00000000000 --- a/_rake/lib/util/markdown.rb +++ /dev/null @@ -1,24 +0,0 @@ -require 'kramdown' -require 'rexml/document' - -module Docs - class Utils - def self.md2xml(path, kramdown_config = {}) - content = File.read(path) - kramdown_config = kramdown_config.merge({:html_to_native => true}) - kramdown_doc = Kramdown::Document.new(content, kramdown_config) - kramdown_doc_content = <<-XML - - - #{kramdown_doc.to_html} - - XML - - kramdown_doc_content = kramdown_doc_content.gsub(//m, '') - - xml = REXML::Document.new kramdown_doc_content - - return xml - end - end -end \ No newline at end of file diff --git a/_rake/prepare_assets.rake b/_rake/prepare_assets.rake deleted file mode 100644 index 97bf97b8b54..00000000000 --- a/_rake/prepare_assets.rake +++ /dev/null @@ -1,9 +0,0 @@ -desc 'Preparing assets' -task :prepare_assets do - dest = ENV["dest"] || CONFIG[:build_destination] - appsrc = 'webhelp-template/app' - appdest = 'app' - - # webhelp template - RakeFileUtils.cp 'webhelp-template/app/templates/page.html', '_includes' -end \ No newline at end of file diff --git a/_rake/preview.rake b/_rake/preview.rake deleted file mode 100644 index aef03b77967..00000000000 --- a/_rake/preview.rake +++ /dev/null @@ -1,12 +0,0 @@ -desc "Runs site on a local preview webserver" -task :preview do - host = ENV["host"] || CONFIG[:preview_host] - port = ENV["port"] || CONFIG[:preview_port] - - Rake::Task["build_toc"].invoke - Rake::Task["build_ui_config"].invoke - Rake::Task['prepare_assets'].invoke - - command = "jekyll serve --trace --host=#{host} --port=#{port} --watch --force_polling" - sh command -end \ No newline at end of file diff --git a/sdkdocs-template b/sdkdocs-template new file mode 160000 index 00000000000..0e284b10550 --- /dev/null +++ b/sdkdocs-template @@ -0,0 +1 @@ +Subproject commit 0e284b1055079fe164be15c27c356638d8ac1d5b diff --git a/test-copy-area.md b/test-copy-area.md deleted file mode 100644 index 48193f48693..00000000000 --- a/test-copy-area.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Testing Copy Area ---- - -# Copy Area test - -The following section covers basic aspects of working with *IntelliJ Platform*. -Read it through to get familiar with the working environment, project structure, and frequently used API components. - -{% copyArea 'http://github.com/JetBrains/intellij-sdk-docs' %} - -The [Plugin Development FAQ](faq.html) -section contains a series of issues commonly discussed on our -[Open API and Plugin Development](https://devnet.jetbrains.com/community/idea/open_api_and_plugin_development) forums. - -{% copyArea 'long-long-string-long-long-string-long-long-string-long-long-string-long-long-string-long-long-string-long-long-string-long-long-string-long-long-string-long-long-string' %} - diff --git a/webhelp-template b/webhelp-template deleted file mode 160000 index d85cad75fc7..00000000000 --- a/webhelp-template +++ /dev/null @@ -1 +0,0 @@ -Subproject commit d85cad75fc762cf73079e632020bfd6c3cfcc0d4