mirror of https://github.com/freeCodeCamp/devdocs
parent
676f4f6e84
commit
73eab0bee5
@ -1,23 +0,0 @@
|
|||||||
### Development
|
|
||||||
|
|
||||||
* [Adding documentations to DevDocs](https://github.com/Thibaut/devdocs/wiki/Adding-documentations-to-DevDocs)
|
|
||||||
* [Scraper Reference](https://github.com/Thibaut/devdocs/wiki/Scraper-Reference)
|
|
||||||
* [Filter Reference](https://github.com/Thibaut/devdocs/wiki/Filter-Reference)
|
|
||||||
|
|
||||||
### Plugins and Extensions
|
|
||||||
|
|
||||||
* [Chrome web app](https://chrome.google.com/webstore/detail/devdocs/mnfehgbmkapmjnhcnbodoamcioleeooe)
|
|
||||||
* [Ubuntu Touch app](https://uappexplorer.com/app/devdocsunofficial.berkes)
|
|
||||||
* [Sublime Text plugin](https://sublime.wbond.net/packages/DevDocs)
|
|
||||||
* [Atom plugin](https://atom.io/packages/devdocs)
|
|
||||||
* [Brackets extension](https://github.com/gruehle/dev-docs-viewer)
|
|
||||||
* [Fluid](http://fluidapp.com) for turning DevDocs into a real OS X app
|
|
||||||
* [GTK shell / Vim integration](https://github.com/naquad/devdocs-shell)
|
|
||||||
* [Emacs lookup](https://github.com/skeeto/devdocs-lookup)
|
|
||||||
* [Alfred Workflow](https://github.com/yannickglt/alfred-devdocs)
|
|
||||||
* [Vim search plugin with Devdocs in its defaults](https://github.com/waiting-for-dev/vim-www) Just set `let g:www_shortcut_engines = { 'devdocs': ['Devdocs', '<leader>dd'] }` to have a `:Devdocs` command and a `<leader>dd` mapping.
|
|
||||||
* [Visual Studio Code plugin](https://marketplace.visualstudio.com/items?itemName=akfish.vscode-devdocs ) (1)
|
|
||||||
* [Visual Studio Code plugin](https://marketplace.visualstudio.com/items?itemName=deibit.devdocs) (2)
|
|
||||||
* [Desktop application](https://github.com/egoist/devdocs-desktop)
|
|
||||||
* [Doc Browser](https://github.com/qwfy/doc-browser) is a native Linux app that supports DevDocs docsets
|
|
||||||
* [GNOME Application](https://github.com/hardpixel/devdocs-desktop) GTK3 application with search integrated in headerbar
|
|
@ -1 +0,0 @@
|
|||||||
Feel free to edit this page or ask for improvements on the [mailing list](https://groups.google.com/d/forum/devdocs).
|
|
@ -1,14 +1,14 @@
|
|||||||
Adding a documentation may look like a daunting task but once you get the hang of it, it's actually quite simple. Don't hesitate to ask for help on the [mailing list](https://groups.google.com/d/forum/devdocs) if you ever get stuck.
|
Adding a documentation may look like a daunting task but once you get the hang of it, it's actually quite simple. Don't hesitate to ask for help [in Gitter](https://gitter.im/FreeCodeCamp/DevDocs) if you ever get stuck.
|
||||||
|
|
||||||
**Note:** please read the [contributing guidelines](https://github.com/Thibaut/devdocs/blob/master/.github/CONTRIBUTING.md) before submitting a new documentation.
|
**Note:** please read the [contributing guidelines](https://github.com/Thibaut/devdocs/blob/master/.github/CONTRIBUTING.md) before submitting a new documentation.
|
||||||
|
|
||||||
1. Create a subclass of `Docs::UrlScraper` or `Docs::FileScraper` in the `lib/docs/scrapers/` directory. Its name should be the [PascalCase](http://api.rubyonrails.org/classes/String.html#method-i-camelize) equivalent of the filename (e.g. `my_doc` → `MyDoc`)
|
1. Create a subclass of `Docs::UrlScraper` or `Docs::FileScraper` in the `lib/docs/scrapers/` directory. Its name should be the [PascalCase](http://api.rubyonrails.org/classes/String.html#method-i-camelize) equivalent of the filename (e.g. `my_doc` → `MyDoc`)
|
||||||
2. Add the appropriate class attributes and filter options (see the [Scraper Reference](https://github.com/Thibaut/devdocs/wiki/Scraper-Reference) page).
|
2. Add the appropriate class attributes and filter options (see the [Scraper Reference](./scraper-reference.md) page).
|
||||||
3. Check that the scraper is listed in `thor docs:list`.
|
3. Check that the scraper is listed in `thor docs:list`.
|
||||||
4. Create filters specific to the scraper in the `lib/docs/filters/[my_doc]/` directory and add them to the class's [filter stacks](https://github.com/Thibaut/devdocs/wiki/Scraper-Reference#filter-stacks). You may create any number of filters but will need at least the following two:
|
4. Create filters specific to the scraper in the `lib/docs/filters/[my_doc]/` directory and add them to the class's [filter stacks](./scraper-reference.md#filter-stacks). You may create any number of filters but will need at least the following two:
|
||||||
* A [`CleanHtml`](https://github.com/Thibaut/devdocs/wiki/Filter-Reference#cleanhtmlfilter) filter whose task is to clean the HTML markup (e.g. adding `id` attributes to headings) and remove everything superfluous and/or nonessential.
|
* A [`CleanHtml`](./filter-reference.md#cleanhtmlfilter) filter whose task is to clean the HTML markup (e.g. adding `id` attributes to headings) and remove everything superfluous and/or nonessential.
|
||||||
* An [`Entries`](https://github.com/Thibaut/devdocs/wiki/Filter-Reference#entriesfilter) filter whose task is to determine the pages' metadata (the list of entries, each with a name, type and path).
|
* An [`Entries`](./filter-reference.md#entriesfilter) filter whose task is to determine the pages' metadata (the list of entries, each with a name, type and path).
|
||||||
The [Filter Reference](https://github.com/Thibaut/devdocs/wiki/Filter-Reference) page has all the details about filters.
|
The [Filter Reference](./filter-reference.md) page has all the details about filters.
|
||||||
5. Using the `thor docs:page [my_doc] [path]` command, check that the scraper works properly. Files will appear in the `public/docs/[my_doc]/` directory (but not inside the app as the command doesn't touch the index). `path` in this case refers to either the remote path (if using `UrlScraper`) or the local path (if using `FileScraper`).
|
5. Using the `thor docs:page [my_doc] [path]` command, check that the scraper works properly. Files will appear in the `public/docs/[my_doc]/` directory (but not inside the app as the command doesn't touch the index). `path` in this case refers to either the remote path (if using `UrlScraper`) or the local path (if using `FileScraper`).
|
||||||
6. Generate the full documentation using the `thor docs:generate [my_doc] --force` command. Additionally, you can use the `--verbose` option to see which files are being created/updated/deleted (useful to see what changed since the last run), and the `--debug` option to see which URLs are being requested and added to the queue (useful to pin down which page adds unwanted URLs to the queue).
|
6. Generate the full documentation using the `thor docs:generate [my_doc] --force` command. Additionally, you can use the `--verbose` option to see which files are being created/updated/deleted (useful to see what changed since the last run), and the `--debug` option to see which URLs are being requested and added to the queue (useful to pin down which page adds unwanted URLs to the queue).
|
||||||
7. Start the server, open the app, enable the documentation, and see how everything plays out.
|
7. Start the server, open the app, enable the documentation, and see how everything plays out.
|
Loading…
Reference in new issue