History

Update README.md and CONTRIBUTING.md (add links to the wiki)

Thibaut committed 13 years ago

Commit c951b3e1 parent fcaf9872 files · +34 −29Browse files

Unified · Split

2 files
  1. CONTRIBUTING.md +22 −19
  2. README.md +12 −10
CONTRIBUTING.md+22−19
@@ -1,19 +1,18 @@
11 # Contributing to DevDocs
22
3−Wish to contribute? Great. Please review the following guidelines carefully and always search for existing issues before opening a new one. More time spent managing issues means less time spent improving the software.
4−
5−_Note: DevDocs is my first open source project and one which I deeply care about. Please forgive my inexperience and the fact that I may push back on certain things in order to keep the project to my liking. Feedback and advice are always welcome._
3+Wish to contribute? Great. Please review the following guidelines carefully and always search for existing issues before opening a new one. More time spent managing issues means less time spent improving DevDocs.
64
75 **Table of Contents:**
86
97 1. [Reporting bugs](#reporting-bugs)
108 2. [Requesting new features](#requesting-new-features)
11−3. [Requesting new docs](#requesting-new-docs)
9+3. [Requesting new documentations](#requesting-new-documentations)
1210 4. [Contributing code and features](#contributing-code-and-features)
13−5. [Contributing new docs](#contributing-new-docs)
14−6. [Other contributions](#other-contributions)
15−7. [Coding conventions](#coding-conventions)
16−8. [Questions?](#questions)
11+5. [Contributing new documentations](#contributing-new-documentations)
12+6. [Updating existing documentations](#updating-existing-documentations)
13+7. [Other contributions](#other-contributions)
14+8. [Coding conventions](#coding-conventions)
15+9. [Questions?](#questions)
1716
1817 ## Reporting bugs
1918
@@ -30,10 +29,10 @@ _Note: DevDocs is my first open source project and one which I deeply care about · 10 unmodified lines
3029
3130 For general feedback and ideas, please use the [mailing list](https://groups.google.com/d/forum/devdocs).
3231
33−## Requesting new docs
32+## Requesting new documentations
3433
3534 Please do not open issues to request new documentations.
36−Use the [Trello board](https://trello.com/b/6BmTulfx/devdocs-documentation) where everyone can vote and contributors can get a feel for what's wished for.
35+Use the [Trello board](https://trello.com/b/6BmTulfx/devdocs-documentation) where everyone can vote and contributors can get a feel for what is most wished for.
3736
3837 ## Contributing code and features
3938
@@ -45,9 +44,9 @@ Use the [Trello board](https://trello.com/b/6BmTulfx/devdocs-documentation) wher · 5 unmodified lines
4544 6. When it makes sense, squash your commits into a single commit.
4645 7. Describe all your changes in the commit message and/or pull request.
4746
48−## Contributing new docs
47+## Contributing new documentations
4948
50−**Note:** there is currently no documentation on how to create a scraper/documentation. I'm working on it.
49+See the [wiki](https://github.com/Thibaut/devdocs/wiki) to learn how to add new documentations.
5150
5251 **Important:** in order to keep things fast and manageable, only the documentation of popular open source projects will be accepted into DevDocs. As more projects find their way in, the required level of popularity will gradually decrease. Additionally, the documentation's license must permit alteration, redistribution, and commercial use of the work. Software vendors that wish to add commercial software documentation to DevDocs may contact me privately.
5352
@@ -55,22 +54,27 @@ Use the [Trello board](https://trello.com/b/6BmTulfx/devdocs-documentation) wher · 1 unmodified line
5554
5655 In addition to the [guidelines for contributing code](#contributing-code-and-features), the following guidelines apply to pull requests that add a new documentation:
5756
58−* Your documentation must come with a clean and official icon, in both 1x and 2x resolutions (16x16 and 32x32 pixels). This is important because icons are the only thing differentiating search results inside the app. If a project doesn't have an official icon, it won't be accepted into DevDocs—sorry.
59−* DevDocs favors quality over quantity. Your documentation should only include API/reference documents that most developers may wish to read semi-regularly. By reducing the number of entries you make it easier for people to find other, more relevant entries. _(Note: you're more than welcome to submit pull requests removing seldom-used entries from existing documentations.)_
57+* Your documentation must come with a clean and official icon, in both 1x and 2x resolutions (16x16 and 32x32 pixels). This is important because icons are the only thing differentiating search results inside the app. If a project doesn't have an official icon, it won't be accepted into DevDocs. Sorry.
58+* DevDocs favors quality over quantity. Your documentation should only include API/reference documents that most developers may wish to read semi-regularly. By reducing the number of entries we make it easier to find other, more relevant entries. _(Note: you're more than welcome to submit pull requests removing seldom-used entries from existing documentations.)_
6059 * Try to remove as much content and HTML markup as possible, particularly content which isn't associated with any entries (e.g. introduction, changelog, etc.).
6160 * Names must be as short as possible and unique across the documentation.
6261 * The number of types (categories) must be less than 50.
6362 * It's ok to leave the CSS up to me.
64−* Don't modify the icon sprite. I'll do it when merging your pull request.
63+* Don't modify the icon sprite. I'll do it after your pull request is merged.
6564 * Once your documentation is accepted into DevDocs, you'll be expected to maintain it on a regular basis.
6665
66+## Updating existing documentations
67+
68+Please do not submit a pull request updating the version number of a documentation unless you have verified that it can be generated properly using the current code. Because the source will have changed, the code will likely need a few tweaks.
69+
70+To ask that an existing documentation be updated, please use the [Trello board](https://trello.com/b/6BmTulfx/devdocs-documentation) or the [mailing list](https://groups.google.com/d/forum/devdocs).
71+
6772 ## Other contributions
6873
6974 Besides new docs and features, here are other ways you can contribute:
7075
71−* **Improve words and sentences.** English isn't my first language so if you notice grammatical or usage errors, feel free to submit a pull request—it'll be much appreciated. (Note: American English is the preferred form)
72−* **Write documentation.** Although this task is mainly up to me, any documentation you can write that may help other developers understand and contribute to the code is highly appreciated.
73−* **Participate in the issue tracker.** Your opinion matters—feel free to add comments to existing issues. You're also welcome to participate to the [mailing list](https://groups.google.com/d/forum/devdocs).
76+* **Improve words and sentences.** English isn't my first language so if you notice grammatical or usage errors, feel free to submit a pull request — it'll be much appreciated. (Note: American English is the preferred form)
77+* **Participate in the issue tracker.** Your opinion matters — feel free to add comments to existing issues. You're also welcome to participate to the [mailing list](https://groups.google.com/d/forum/devdocs).
7478
7579 ## Coding conventions
7680
@@ -81,4 +85,3 @@ Besides new docs and features, here are other ways you can contribute: · 4 unmodified lines
8185 ## Questions?
8286
8387 If you have any questions, please feel free to ask on the [mailing list](https://groups.google.com/d/forum/devdocs).
84−
README.md+12−10
@@ -15,13 +15,11 @@ DevDocs is free and open source. If you use it and like it, please consider dona · 14 unmodified lines
1515
1616 **Table of Contents:** [Quick Start](#quick-start) · [Vision](#vision) · [App](#app) · [Scraper](#scraper) · [Commands](#available-commands) · [Contributing](#contributing) · [License](#copyright--license) · [Questions?](#questions)
1717
18−**Note:** I'm in the process of writing more documentation. As DevDocs is quite big, it'll take time. Feel free to [contact me directly](mailto:thibaut@devdocs.io) in the meantime.
19−
2018 ## Quick Start
2119
2220 Unless you wish to use DevDocs offline or contribute to the code, I recommend using the hosted version at [devdocs.io](http://devdocs.io). It's up-to-date and requires no setup.
2321
24−DevDocs is made of two separate pieces of software: a Ruby scraper responsible for generating the documentation files and indexes, and a JavaScript front-end powered by on small Sinatra app.
22+DevDocs is made of two separate pieces of software: a Ruby scraper responsible for generating the documentation files and indexes, and a JavaScript front-end powered by a small Sinatra app.
2523
2624 DevDocs requires Ruby 2.0. Once you have it installed, run the following commands:
2725
@@ -40,11 +38,11 @@ The `thor docs:download` command is used to download/update individual documenta · 12 unmodified lines
4038
4139 ## Vision
4240
43−DevDocs aims to make reading and searching reference documentation fast, accessible and enjoyable, while aspiring to become the “one stop shop” for all open-source software documentations.
41+DevDocs aims to make reading and searching reference documentation fast, accessible and enjoyable. It aspires to become the “one stop shop” for all open-source software documentations.
4442
45−The app's main goals are to: keep boot and page load times as fast as possible; improve the quality, speed, and order of search results; maximize the use of caching and other performance optimizations; maintain a clean, readable user interface; support full keyboard navigation; reduce “context switch” by using a consistent typography and design across all documentations; reduce clutter by focusing on a specific category of content (API/reference) and indexing only the minimum useful to most developers.
43+The app's main goals are to: keep booting and loading times as short as possible; improve the quality, speed, and order of search results; maximize the use of caching and other performance optimizations; maintain a clean, readable user interface; support full keyboard navigation; reduce “context switch” by using a consistent typography and design across all documentations; reduce clutter by focusing on a specific category of content (API/reference) and by indexing only the minimum useful to most developers.
4644
47−**Note:** DevDocs is neither a programming guide nor a search engine. All content is pulled from third-party sources and the project does not intend to compete with full-text search engines. Its backbone is metadata: each piece of content must be identified by a unique, obvious and short string. Thus, tutorials, guides and other content that don't fit this requirement are outside the scope of the project.
45+**Note:** DevDocs is neither a programming guide nor a search engine. All 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 must be identified by a unique, obvious, and short string. Thus, tutorials, guides and other content that don't fit this requirement are outside the scope of the project.
4846
4947 ## App
5048
@@ -52,7 +50,7 @@ The web app is all JavaScript, written in [CoffeeScript](http://coffeescript.org · 1 unmodified line
5250
5351 Many of the code's design decisions were driven by the fact that the app uses XHR to load content directly into the main frame. This includes stripping the original documents of most of their HTML markup (e.g. scripts and stylesheets) to avoid polluting the main frame, and prefixing all CSS class names with an underscore to prevent conflicts.
5452
55−Another driving factor is the requirement for speed. This is partially solved by maximizing caching (both `applicationCache`, which comes with its own set of constraints, and `localStorage` are used to their full extent), as well as by allowing the user to pick his/her own set of documentations. On the other hand, the search algorithm is currently not very sophisticated because it needs to be fast even searching through 100k entries.
53+Another driving factor is performance and the fact that everything happens in the browser. `applicationCache` (which comes with its own set of constraints) and `localStorage` are used to speed up the boot time while memory consumption is kept in check by allowing the user to pick his/her own set of documentations. On the other hand, the search algorithm is currently not very sophisticated because it needs to be fast even searching through 100k entries.
5654
5755 DevDocs being a developer tool, the browser requirements are high:
5856
@@ -78,14 +76,16 @@ There are currently two kinds of scrapers: `UrlScraper` which downloads files vi · 19 unmodified lines
7876 Modifications made to each document include:
7977 * removing stuff, such as the document structure (`<html>`, `<head>`, etc.), comments, empty nodes, etc.
8078 * fixing links (e.g. to remove duplicates)
81−* replacing all external (not copied) URLs with their fully qualified counterpart
82−* replacing all internal (copied) URLs with their unqualified and relative counterpart
79+* replacing all external (not scraped) URLs with their fully qualified counterpart
80+* replacing all internal (scraped) URLs with their unqualified and relative counterpart
8381 * adding stuff, such as a title and link to the original document
8482
85−These modifications are applied through a set of filters, with each scraper also applying custom filters specific to the documentation. Each document is also passed through a filter whose task is to figure out its metadata, namely its _name_ and _type_ (category).
83+These modifications are applied through a set of filters using the [HTML::Pipeline](https://github.com/jch/html-pipeline) library. Each scraper includes filters specific to its documentation, one of which is tasked with figuring out the pages' metadata.
8684
8785 The end result is a set of normalized HTML partials and a JSON index file. Because the index files are loaded separately by the [app](#app) following the user's preferences, the code also creates a JSON manifest file containing information about the documentations currently available on the system (such as their name, version, update date, etc.).
8886
87+More information about scrapers and filters is available on the [wiki](https://github.com/Thibaut/devdocs/wiki).
88+
8989 ## Available Commands
9090
9191 The command-line interface uses [Thor](http://whatisthor.com). To see all commands and options, run `thor list` from the project's root.
@@ -122,6 +122,8 @@ thor assets:clean # Clean old assets · 30 unmodified lines
122122
123123 Contributions are welcome. Please read the [contributing guidelines](https://github.com/Thibaut/devdocs/blob/master/CONTRIBUTING.md).
124124
125+DevDocs's own documentation is available on the [wiki](https://github.com/Thibaut/devdocs/wiki).
126+
125127 ## Copyright / License
126128
127129 Copyright 2013 Thibaut Courouble and [other contributors](https://github.com/Thibaut/devdocs/graphs/contributors)