Unified · Split
| @@ -10,9 +10,9 @@ Please reach out to the community on [Discord](https://discord.gg/PRyKn3Vbay) if · 9 unmodified lines | ||
| 10 | 10 | |
| 11 | 11 | Keep track of development news: |
| 12 | 12 | |
| 13 | −- Join the `#contributors` chat room on [Discord](https://discord.gg/PRyKn3Vbay) | |
| 14 | −- Watch the repository on [GitHub](https://github.com/freeCodeCamp/devdocs/subscription) | |
| 15 | −- Follow [@DevDocs](https://twitter.com/DevDocs) on Twitter | |
| 13 | +* Join the `#contributors` chat room on [Discord](https://discord.gg/PRyKn3Vbay) | |
| 14 | +* Watch the repository on [GitHub](https://github.com/freeCodeCamp/devdocs/subscription) | |
| 15 | +* Follow [@DevDocs](https://twitter.com/DevDocs) on Twitter | |
| 16 | 16 | |
| 17 | 17 | **Table of Contents:** [Quick Start](#quick-start) · [Vision](#vision) · [App](#app) · [Scraper](#scraper) · [Commands](#available-commands) · [Contributing](#contributing) · [Documentation](#documentation) · [Related Projects](#related-projects) · [License](#copyright--license) · [Questions?](#questions) |
| 18 | 18 | |
| @@ -29,7 +29,6 @@ docker run --name devdocs -d -p 9292:9292 ghcr.io/freecodecamp/devdocs:latest · 10 unmodified lines | ||
| 29 | 29 | ``` |
| 30 | 30 | |
| 31 | 31 | This will start DevDocs at [localhost:9292](http://localhost:9292). We provide both regular and Alpine-based images: |
| 32 | − | |
| 33 | 32 | - `ghcr.io/freecodecamp/devdocs:latest` - Standard image |
| 34 | 33 | - `ghcr.io/freecodecamp/devdocs:latest-alpine` - Alpine-based (smaller size) |
| 35 | 34 | |
| @@ -71,14 +70,14 @@ DevDocs aims to make reading and searching reference documentation fast, easy an · 35 unmodified lines | ||
| 71 | 70 | |
| 72 | 71 | The app's main goals are to: |
| 73 | 72 | |
| 74 | −- Keep load times as short as possible | |
| 75 | −- Improve the quality, speed, and order of search results | |
| 76 | −- Maximize the use of caching and other performance optimizations | |
| 77 | −- Maintain a clean and readable user interface | |
| 78 | −- Be fully functional offline | |
| 79 | −- Support full keyboard navigation | |
| 80 | −- Reduce “context switch” by using a consistent typography and design across all documentations | |
| 81 | −- Reduce clutter by focusing on a specific category of content (API/reference) and indexing only the minimum useful to most developers. | |
| 73 | +* Keep load times as short as possible | |
| 74 | +* Improve the quality, speed, and order of search results | |
| 75 | +* Maximize the use of caching and other performance optimizations | |
| 76 | +* Maintain a clean and readable user interface | |
| 77 | +* Be fully functional offline | |
| 78 | +* Support full keyboard navigation | |
| 79 | +* Reduce “context switch” by using a consistent typography and design across all documentations | |
| 80 | +* Reduce clutter by focusing on a specific category of content (API/reference) and indexing only the minimum useful to most developers. | |
| 82 | 81 | |
| 83 | 82 | **Note:** DevDocs is neither a programming guide nor a search engine. All our content is pulled from third-party sources and the project doesn't intend to compete with full-text search engines. Its backbone is metadata; each piece of content is identified by a unique, "obvious" and short string. Tutorials, guides and other content that don't meet this requirement are outside the scope of the project. |
| 84 | 83 | |
| @@ -92,10 +91,10 @@ Another driving factor is performance and the fact that everything happens in th · 7 unmodified lines | ||
| 92 | 91 | |
| 93 | 92 | DevDocs being a developer tool, the browser requirements are high: |
| 94 | 93 | |
| 95 | −- Recent versions of Firefox, Chrome, or Opera | |
| 96 | −- Safari 11.1+ | |
| 97 | −- Edge 17+ | |
| 98 | −- iOS 11.3+ | |
| 94 | +* Recent versions of Firefox, Chrome, or Opera | |
| 95 | +* Safari 11.1+ | |
| 96 | +* Edge 17+ | |
| 97 | +* iOS 11.3+ | |
| 99 | 98 | |
| 100 | 99 | This allows the code to take advantage of the latest DOM and HTML5 APIs and make developing DevDocs a lot more fun! |
| 101 | 100 | |
| @@ -107,12 +106,12 @@ There are currently two kinds of scrapers: `UrlScraper` which downloads files vi · 5 unmodified lines | ||
| 107 | 106 | |
| 108 | 107 | Modifications made to each document include: |
| 109 | 108 | |
| 110 | −- removing content such as the document structure (`<html>`, `<head>`, etc.), comments, empty nodes, etc. | |
| 111 | −- fixing links (e.g. to remove duplicates) | |
| 112 | −- replacing all external (not scraped) URLs with their fully qualified counterpart | |
| 113 | −- replacing all internal (scraped) URLs with their unqualified and relative counterpart | |
| 114 | −- adding content, such as a title and link to the original document | |
| 115 | −- ensuring correct syntax highlighting using [Prism](http://prismjs.com/) | |
| 109 | +* removing content such as the document structure (`<html>`, `<head>`, etc.), comments, empty nodes, etc. | |
| 110 | +* fixing links (e.g. to remove duplicates) | |
| 111 | +* replacing all external (not scraped) URLs with their fully qualified counterpart | |
| 112 | +* replacing all internal (scraped) URLs with their unqualified and relative counterpart | |
| 113 | +* adding content, such as a title and link to the original document | |
| 114 | +* ensuring correct syntax highlighting using [Prism](http://prismjs.com/) | |
| 116 | 115 | |
| 117 | 116 | These modifications are applied via a set of filters using the [HTML::Pipeline](https://github.com/jch/html-pipeline) library. Each scraper includes filters specific to itself, one of which is tasked with figuring out the pages' metadata. |
| 118 | 117 | |
| @@ -144,10 +143,10 @@ thor console:docs # Start a REPL in the "Docs" module · 25 unmodified lines | ||
| 144 | 143 | |
| 145 | 144 | # Tests can be run quickly from within the console using the "test" command. |
| 146 | 145 | # Run "help test" for usage instructions. |
| 147 | −thor test:all # Run all tests | |
| 148 | −thor test:docs # Run "Docs" tests | |
| 149 | −thor test:app # Run "App" tests | |
| 150 | −thor test:app:coverage # Run coverage for "App" tests | |
| 146 | +thor test:all # Run all tests | |
| 147 | +thor test:docs # Run "Docs" tests | |
| 148 | +thor test:app # Run "App" tests | |
| 149 | +thor test:coverage # Run coverage report on "App" tests | |
| 151 | 150 | |
| 152 | 151 | # Assets |
| 153 | 152 | thor assets:compile # Compile assets (not required in development mode) |
| @@ -162,10 +161,10 @@ Contributions are welcome. Please read the [contributing guidelines](./.github/C · 8 unmodified lines | ||
| 162 | 161 | |
| 163 | 162 | ## Documentation |
| 164 | 163 | |
| 165 | −- [Adding documentations to DevDocs](./docs/adding-docs.md) | |
| 166 | −- [Scraper Reference](./docs/scraper-reference.md) | |
| 167 | −- [Filter Reference](./docs/filter-reference.md) | |
| 168 | −- [Maintainers’ Guide](./docs/maintainers.md) | |
| 164 | +* [Adding documentations to DevDocs](./docs/adding-docs.md) | |
| 165 | +* [Scraper Reference](./docs/scraper-reference.md) | |
| 166 | +* [Filter Reference](./docs/filter-reference.md) | |
| 167 | +* [Maintainers’ Guide](./docs/maintainers.md) | |
| 169 | 168 | |
| 170 | 169 | ## DevDocs Quick Usage Cheatsheet |
| 171 | 170 | |
| @@ -184,34 +183,35 @@ Below are some helpful shortcuts and usage tips that are not immediately obvious · 12 unmodified lines | ||
| 184 | 183 | |
| 185 | 184 | These shortcuts make DevDocs faster to navigate and more efficient for daily use. |
| 186 | 185 | |
| 186 | + | |
| 187 | 187 | ## Related Projects |
| 188 | 188 | |
| 189 | 189 | Made something cool? Feel free to open a PR to add a new row to this table! You might want to discover new projects via https://github.com/topics/devdocs. |
| 190 | 190 | |
| 191 | 191 | <!-- table is sorted by description --> |
| 192 | 192 | |
| 193 | −| Project | Description | Last commit | Stars | | |
| 194 | −| ------------------------------------------------------------------------------------------- | ------------------------------------ | ---------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | | |
| 195 | −| [yannickglt/alfred-devdocs](https://github.com/yannickglt/alfred-devdocs) | Alfred workflow |  |  | | |
| 196 | −| [Merith-TK/devdocs_webapp_kotlin](https://github.com/Merith-TK/devdocs_webapp_kotlin) | Android application |  |  | | |
| 197 | −| [gruehle/dev-docs-viewer](https://github.com/gruehle/dev-docs-viewer) | Brackets extension |  |  | | |
| 198 | −| [egoist/devdocs-desktop](https://github.com/egoist/devdocs-desktop) | Electron application |  |  | | |
| 199 | −| [skeeto/devdocs-lookup](https://github.com/skeeto/devdocs-lookup) | Emacs function |  |  | | |
| 200 | −| [astoff/devdocs.el](https://github.com/astoff/devdocs.el) | Emacs viewer |  |  | | |
| 201 | −| [naquad/devdocs-shell](https://github.com/naquad/devdocs-shell) | GTK shell with Vim integration |  |  | | |
| 202 | −| [hardpixel/devdocs-desktop](https://github.com/hardpixel/devdocs-desktop) | GTK application |  |  | | |
| 203 | −| [qwfy/doc-browser](https://github.com/qwfy/doc-browser) | Linux application |  |  | | |
| 204 | −| [dteoh/devdocs-macos](https://github.com/dteoh/devdocs-macos) | macOS application |  |  | | |
| 205 | −| [Sublime Text plugin](https://sublime.wbond.net/packages/DevDocs) | Sublime Text plugin |  |  | | |
| 206 | −| [mohamed3nan/DevDocs-Tab](https://github.com/mohamed3nan/DevDocs-Tab) | VS Code extension (view as tab) |  |  | | |
| 207 | −| [deibit/vscode-devdocs](https://marketplace.visualstudio.com/items?itemName=deibit.devdocs) | VS Code extension (open the browser) |  |  | | |
| 208 | −| [mdh34/quickDocs](https://github.com/mdh34/quickDocs) | Vala/Python based viewer |  |  | | |
| 209 | −| [girishji/devdocs.vim](https://github.com/girishji/devdocs.vim) | Vim plugin & TUI (browse inside Vim) |  |  | | |
| 210 | −| [romainl/vim-devdocs](https://github.com/romainl/vim-devdocs) | Vim plugin |  |  | | |
| 211 | −| [waiting-for-dev/vim-www](https://github.com/waiting-for-dev/vim-www) | Vim plugin |  |  | | |
| 212 | −| [emmanueltouzery/apidocs.nvim](https://github.com/emmanueltouzery/apidocs.nvim) | Neovim plugin |  |  | | |
| 213 | −| [toiletbril/dedoc](https://github.com/toiletbril/dedoc) | Terminal based viewer |  |  | | |
| 214 | −| [Raycast Devdocs](https://www.raycast.com/djpowers/devdocs) | Raycast extension | Unavailable | Unavailable | | |
| 193 | +| Project | Description | Last commit | Stars | | |
| 194 | +| ------------------------------------------------------------------------------------------- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ | | |
| 195 | +| [yannickglt/alfred-devdocs](https://github.com/yannickglt/alfred-devdocs) | Alfred workflow |  |  | | |
| 196 | +| [Merith-TK/devdocs_webapp_kotlin](https://github.com/Merith-TK/devdocs_webapp_kotlin) | Android application |  |  | | |
| 197 | +| [gruehle/dev-docs-viewer](https://github.com/gruehle/dev-docs-viewer) | Brackets extension |  |  | | |
| 198 | +| [egoist/devdocs-desktop](https://github.com/egoist/devdocs-desktop) | Electron application |  |  | | |
| 199 | +| [skeeto/devdocs-lookup](https://github.com/skeeto/devdocs-lookup) | Emacs function |  |  | | |
| 200 | +| [astoff/devdocs.el](https://github.com/astoff/devdocs.el) | Emacs viewer |  |  | | |
| 201 | +| [naquad/devdocs-shell](https://github.com/naquad/devdocs-shell) | GTK shell with Vim integration |  |  | | |
| 202 | +| [hardpixel/devdocs-desktop](https://github.com/hardpixel/devdocs-desktop) | GTK application |  |  | | |
| 203 | +| [qwfy/doc-browser](https://github.com/qwfy/doc-browser) | Linux application |  |  | | |
| 204 | +| [dteoh/devdocs-macos](https://github.com/dteoh/devdocs-macos) | macOS application |  |  | | |
| 205 | +| [Sublime Text plugin](https://sublime.wbond.net/packages/DevDocs) | Sublime Text plugin |  |  | | |
| 206 | +| [mohamed3nan/DevDocs-Tab](https://github.com/mohamed3nan/DevDocs-Tab) | VS Code extension (view as tab) |  |  | | |
| 207 | +| [deibit/vscode-devdocs](https://marketplace.visualstudio.com/items?itemName=deibit.devdocs) | VS Code extension (open the browser) |  |  | | |
| 208 | +| [mdh34/quickDocs](https://github.com/mdh34/quickDocs) | Vala/Python based viewer |  |  | | |
| 209 | +| [girishji/devdocs.vim](https://github.com/girishji/devdocs.vim) | Vim plugin & TUI (browse inside Vim) |  |  | | |
| 210 | +| [romainl/vim-devdocs](https://github.com/romainl/vim-devdocs) | Vim plugin |  |  | | |
| 211 | +| [waiting-for-dev/vim-www](https://github.com/waiting-for-dev/vim-www) | Vim plugin |  |  | | |
| 212 | +| [emmanueltouzery/apidocs.nvim](https://github.com/emmanueltouzery/apidocs.nvim) | Neovim plugin |  |  | | |
| 213 | +| [toiletbril/dedoc](https://github.com/toiletbril/dedoc) | Terminal based viewer |  |  | | |
| 214 | +| [Raycast Devdocs](https://www.raycast.com/djpowers/devdocs) | Raycast extension | Unavailable | Unavailable | | |
| 215 | 215 | | [chrisgrieser/alfred-docs-searches](https://github.com/chrisgrieser/alfred-docs-searches) | Alfred workflow |  |  | |
| 216 | 216 | |
| 217 | 217 | ## Copyright / License |