Skip to content

Commit 14049da

Browse files
committed
Merge branch 'master' into emilekm-master
2 parents cc87443 + fef9589 commit 14049da

File tree

315 files changed

+6598
-2913
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

315 files changed

+6598
-2913
lines changed

.editorconfig

+3
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,6 @@ indent_style = space
66
indent_size = 2
77
insert_final_newline = true
88
trim_trailing_whitespace = true
9+
10+
[*.md]
11+
trim_trailing_whitespace = false

.github/CONTRIBUTING.md

+4-5
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@ Want to contribute? Great. Please review the following guidelines carefully and
2424
## Requesting new features
2525

2626
1. Search for similar feature requests; someone may have already requested it.
27-
2. Make sure your feature fits DevDocs's [vision](https://github.com/freeCodeCamp/devdocs/blob/master/README.md#vision).
27+
2. Make sure your feature fits DevDocs's [vision](../README.md#vision).
2828
3. Provide a clear and detailed explanation of the feature and why it's important to add it.
2929

3030
## Requesting new documentations
3131

32-
Please don't open issues to request new documentations.
32+
Please don't open issues to request new documentations.
3333
Use the [Trello board](https://trello.com/b/6BmTulfx/devdocs-documentation) where everyone can vote.
3434

3535
## Contributing code and features
@@ -55,13 +55,12 @@ In addition to the [guidelines for contributing code](#contributing-code-and-fea
5555
* Remove as much content and HTML markup as possible, particularly content not associated with any entry (e.g. introduction, changelog, etc.).
5656
* Names must be as short as possible and unique across the documentation.
5757
* The number of types (categories) should ideally be less than 100.
58-
* Don't modify the icon sprite. I'll do it after your pull request is merged.
5958

6059
## Updating existing documentations
6160

62-
Please don't submit a pull request updating the version number of a documentation, unless a change is required in the scraper and you've verified that it works.
61+
Please don't submit a pull request updating only the version number and/or the attribution of a documentation. Do submit a pull request if a bigger change is required in the scraper and you've verified that it works.
6362

64-
To ask that an existing documentation be updated, please use the [Trello board](https://trello.com/c/2B0hmW7M/52-request-updates-here).
63+
To ask that an existing documentation be updated, first check the latest [documentation versions report](https://github.com/freeCodeCamp/devdocs/issues?utf8=%E2%9C%93&q=Documentation+versions+report+is%3Aissue+author%3Adevdocs-bot+sort%3Acreated-desc). Only create an issue if the documentation has been wrongly marked as up-to-date.
6564

6665
## Coding conventions
6766

.github/ISSUE_TEMPLATE.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22
Please read the contributing guidelines before opening an issue:
33
https://github.com/freeCodeCamp/devdocs/blob/master/.github/CONTRIBUTING.md
44
5-
To request a new documentation, or an update of an existing documentation, go here:
5+
Go here to request a new documentation:
66
https://trello.com/b/6BmTulfx/devdocs-documentation
77
-->

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
.DS_Store
22
.bundle
3+
log
34
tmp
45
public/assets
56
public/fonts

.ruby-version

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.6.0
1+
2.6.3

.slugignore

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1 @@
1-
public/icons
2-
test
1+
test

.travis.yml

+20-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,26 @@
11
language: ruby
22

3+
addons:
4+
apt:
5+
packages:
6+
- libcurl4-openssl-dev
7+
38
cache: bundler
49

5-
before_script:
10+
before_install:
11+
- "echo 'gem: --no-document' > ~/.gemrc"
612
- gem update --system
713
- gem install bundler
14+
15+
script:
16+
- if [ "$TRAVIS_EVENT_TYPE" != "cron" ]; then bundle exec rake; fi
17+
- if [ "$TRAVIS_EVENT_TYPE" = "cron" ]; then bundle exec thor updates:check --github-token $GH_TOKEN --upload; fi
18+
19+
deploy:
20+
provider: heroku
21+
app: devdocs
22+
on:
23+
branch: master
24+
condition: $TRAVIS_EVENT_TYPE != cron
25+
api_key:
26+
secure: "4p1klvWJZSOImzFcKOduILjP93hlOlAhceWlYMKS4tU+TCFE8qTBzdKdFPSCsCgjB+YR9pBss+L0lJpVVMjSwFHXqpKe6EeUSltO2k7DFHfW7kXLUM/L0AfqXz+YXk76XUyZMhvOEbldPfaMaj10e8vgDOQCSHABDyK/4CU+hnI="

CODE_OF_CONDUCT.md

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
2+
> Our Code of Conduct is available here: <https://code-of-conduct.freecodecamp.org/>

Dockerfile

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1-
FROM ruby:2.6.0
1+
FROM ruby:2.6.3
22

33
ENV LANG=C.UTF-8
4+
ENV ENABLE_SERVICE_WORKER=true
45

56
WORKDIR /devdocs
67

78
RUN apt-get update && \
8-
apt-get -y install git nodejs && \
9+
apt-get -y install git nodejs libcurl4 && \
910
gem install bundler && \
1011
rm -rf /var/lib/apt/lists/*
1112

Dockerfile-alpine

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
1-
FROM ruby:2.6.0-alpine
1+
FROM ruby:2.6.3-alpine
22

33
ENV LANG=C.UTF-8
4+
ENV ENABLE_SERVICE_WORKER=true
45

56
WORKDIR /devdocs
67

78
COPY . /devdocs
89

9-
RUN apk --update add nodejs build-base libstdc++ gzip git zlib-dev && \
10+
RUN apk --update add nodejs build-base libstdc++ gzip git zlib-dev libcurl && \
1011
gem install bundler && \
1112
bundle install --system --without test && \
1213
thor docs:download --all && \

Gemfile

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
source 'https://rubygems.org'
2-
ruby '2.6.0'
2+
ruby '2.6.3'
33

44
gem 'rake'
55
gem 'thor'
@@ -22,6 +22,8 @@ group :app do
2222
gem 'browser'
2323
gem 'sass'
2424
gem 'coffee-script'
25+
gem 'chunky_png'
26+
gem 'sprockets-sass'
2527
end
2628

2729
group :production do
@@ -40,6 +42,7 @@ group :docs do
4042
gem 'unix_utils', require: false
4143
gem 'tty-pager', require: false
4244
gem 'net-sftp', '>= 2.1.3.rc2', require: false
45+
gem 'terminal-table', require: false
4346
end
4447

4548
group :test do

Gemfile.lock

+39-31
Original file line numberDiff line numberDiff line change
@@ -1,69 +1,70 @@
11
GEM
22
remote: https://rubygems.org/
33
specs:
4-
activesupport (5.2.2)
4+
activesupport (5.2.3)
55
concurrent-ruby (~> 1.0, >= 1.0.2)
66
i18n (>= 0.7, < 2)
77
minitest (~> 5.1)
88
tzinfo (~> 1.1)
9-
backports (3.11.4)
10-
better_errors (2.5.0)
9+
backports (3.15.0)
10+
better_errors (2.5.1)
1111
coderay (>= 1.0.0)
1212
erubi (>= 1.0.0)
1313
rack (>= 0.9.0)
14-
browser (2.5.3)
14+
browser (2.6.1)
15+
chunky_png (1.3.11)
1516
coderay (1.1.2)
1617
coffee-script (2.4.1)
1718
coffee-script-source
1819
execjs
1920
coffee-script-source (1.12.2)
20-
concurrent-ruby (1.1.4)
21+
concurrent-ruby (1.1.5)
2122
daemons (1.3.1)
2223
erubi (1.8.0)
2324
ethon (0.12.0)
2425
ffi (>= 1.3.0)
2526
eventmachine (1.2.7)
2627
execjs (2.7.0)
27-
exifr (1.3.5)
28-
ffi (1.10.0)
29-
fspath (3.1.0)
30-
highline (2.0.0)
31-
html-pipeline (2.10.0)
28+
exifr (1.3.6)
29+
ffi (1.11.1)
30+
fspath (3.1.2)
31+
highline (2.0.2)
32+
html-pipeline (2.11.1)
3233
activesupport (>= 2)
3334
nokogiri (>= 1.4)
34-
i18n (1.5.2)
35+
i18n (1.6.0)
3536
concurrent-ruby (~> 1.0)
36-
image_optim (0.26.3)
37+
image_optim (0.26.5)
3738
exifr (~> 1.2, >= 1.2.2)
3839
fspath (~> 3.0)
3940
image_size (>= 1.5, < 3)
4041
in_threads (~> 1.3)
4142
progress (~> 3.0, >= 3.0.1)
42-
image_optim_pack (0.5.1.20190105)
43+
image_optim_pack (0.5.6)
4344
fspath (>= 2.1, < 4)
4445
image_optim (~> 0.19)
45-
image_size (2.0.0)
46-
in_threads (1.5.1)
46+
image_size (2.0.2)
47+
in_threads (1.5.3)
4748
method_source (0.9.2)
4849
mini_portile2 (2.4.0)
4950
minitest (5.11.3)
5051
multi_json (1.13.1)
5152
mustermann (1.0.3)
5253
net-sftp (3.0.0.beta1)
5354
net-ssh (>= 5.0.0, < 6.0.0)
54-
net-ssh (5.1.0)
55-
newrelic_rpm (5.7.0.350)
56-
nokogiri (1.10.1)
55+
net-ssh (5.2.0)
56+
newrelic_rpm (6.5.0.357)
57+
nokogiri (1.10.3)
5758
mini_portile2 (~> 2.4.0)
5859
options (2.3.2)
59-
progress (3.5.0)
60+
progress (3.5.2)
6061
progress_bar (1.3.0)
6162
highline (>= 1.6, < 3)
6263
options (~> 2.3.0)
6364
pry (0.12.2)
6465
coderay (~> 1.1.0)
6566
method_source (~> 0.9.0)
66-
rack (2.0.6)
67+
rack (2.0.7)
6768
rack-protection (2.0.5)
6869
rack
6970
rack-ssl-enforcer (0.2.9)
@@ -74,7 +75,7 @@ GEM
7475
rb-inotify (0.10.0)
7576
ffi (~> 1.0)
7677
rr (1.2.1)
77-
sass (3.7.3)
78+
sass (3.7.4)
7879
sass-listen (~> 4.0.0)
7980
sass-listen (4.0.0)
8081
rb-fsevent (~> 0.9, >= 0.9.4)
@@ -96,31 +97,35 @@ GEM
9697
rack (> 1, < 3)
9798
sprockets-helpers (1.2.1)
9899
sprockets (>= 2.2)
99-
strings (0.1.4)
100-
strings-ansi (~> 0.1.0)
101-
unicode-display_width (~> 1.4.0)
102-
unicode_utils (~> 1.4.0)
100+
sprockets-sass (2.0.0.beta2)
101+
sprockets (>= 2.0, < 4.0)
102+
strings (0.1.5)
103+
strings-ansi (~> 0.1)
104+
unicode-display_width (~> 1.5)
105+
unicode_utils (~> 1.4)
103106
strings-ansi (0.1.0)
107+
terminal-table (1.8.0)
108+
unicode-display_width (~> 1.1, >= 1.1.1)
104109
thin (1.7.2)
105110
daemons (~> 1.0, >= 1.0.9)
106111
eventmachine (~> 1.0, >= 1.0.4)
107112
rack (>= 1, < 3)
108113
thor (0.20.3)
109114
thread_safe (0.3.6)
110115
tilt (2.0.9)
111-
tty-pager (0.12.0)
116+
tty-pager (0.12.1)
112117
strings (~> 0.1.4)
113118
tty-screen (~> 0.6)
114119
tty-which (~> 0.4)
115-
tty-screen (0.6.5)
116-
tty-which (0.4.0)
120+
tty-screen (0.7.0)
121+
tty-which (0.4.1)
117122
typhoeus (1.3.1)
118123
ethon (>= 0.9.0)
119124
tzinfo (1.2.5)
120125
thread_safe (~> 0.1)
121126
uglifier (4.1.20)
122127
execjs (>= 0.3.0, < 3)
123-
unicode-display_width (1.4.1)
128+
unicode-display_width (1.6.0)
124129
unicode_utils (1.4.0)
125130
unix_utils (0.0.15)
126131
yajl-ruby (1.4.1)
@@ -132,6 +137,7 @@ DEPENDENCIES
132137
activesupport (~> 5.2)
133138
better_errors
134139
browser
140+
chunky_png
135141
coffee-script
136142
erubi
137143
html-pipeline
@@ -153,6 +159,8 @@ DEPENDENCIES
153159
sinatra-contrib
154160
sprockets
155161
sprockets-helpers
162+
sprockets-sass
163+
terminal-table
156164
thin
157165
thor
158166
tty-pager
@@ -162,7 +170,7 @@ DEPENDENCIES
162170
yajl-ruby
163171

164172
RUBY VERSION
165-
ruby 2.6.0p0
173+
ruby 2.6.3p62
166174

167175
BUNDLED WITH
168-
1.17.2
176+
2.0.2

README.md

+9-9
Original file line numberDiff line numberDiff line change
@@ -59,14 +59,14 @@ The web app is all client-side JavaScript, written in [CoffeeScript](http://coff
5959

6060
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.
6161

62-
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. The search algorithm is kept simple because it needs to be fast even searching through 100,000 strings.
62+
Another driving factor is performance and the fact that everything happens in the browser. A service worker (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. The search algorithm is kept simple because it needs to be fast even searching through 100,000 strings.
6363

6464
DevDocs being a developer tool, the browser requirements are high:
6565

6666
* Recent versions of Firefox, Chrome, or Opera
67-
* Safari 9.1+
68-
* Edge 16+
69-
* iOS 10+
67+
* Safari 11.1+
68+
* Edge 17+
69+
* iOS 11.3+
7070

7171
This allows the code to take advantage of the latest DOM and HTML5 APIs and make developing DevDocs a lot more fun!
7272

@@ -89,7 +89,7 @@ These modifications are applied via a set of filters using the [HTML::Pipeline](
8989

9090
The end result is a set of normalized HTML partials and two JSON files (index + offline data). Because the index files are loaded separately by the [app](#app) following the user's preferences, the scraper also creates a JSON manifest file containing information about the documentations currently available on the system (such as their name, version, update date, etc.).
9191

92-
More information about [scrapers](https://github.com/freeCodeCamp/devdocs/blob/master/docs/Scraper-Reference.md) and [filters](https://github.com/freeCodeCamp/devdocs/blob/master/docs/Filter-Reference.md) is available in the `docs` folder.
92+
More information about [scrapers](./docs/scraper-reference.md) and [filters](./docs/filter-reference.md) is available in the `docs` folder.
9393

9494
## Available Commands
9595

@@ -129,7 +129,7 @@ If multiple versions of Ruby are installed on your system, commands must be run
129129

130130
## Contributing
131131

132-
Contributions are welcome. Please read the [contributing guidelines](https://github.com/freeCodeCamp/devdocs/blob/master/.github/CONTRIBUTING.md).
132+
Contributions are welcome. Please read the [contributing guidelines](./.github/CONTRIBUTING.md).
133133

134134
## Documentation
135135

@@ -144,7 +144,7 @@ Contributions are welcome. Please read the [contributing guidelines](https://git
144144
* [Ubuntu Touch app](https://uappexplorer.com/app/devdocsunofficial.berkes)
145145
* [Sublime Text plugin](https://sublime.wbond.net/packages/DevDocs)
146146
* [Atom plugin](https://atom.io/packages/devdocs)
147-
* [Brackets extension](https://github.com/gruehle/dev-docs-viewer)
147+
* [Brackets extension](https://github.com/gruehle/dev-docs-viewer)
148148
* [Fluid](http://fluidapp.com) for turning DevDocs into a real OS X app
149149
* [GTK shell / Vim integration](https://github.com/naquad/devdocs-shell)
150150
* [Emacs lookup](https://github.com/skeeto/devdocs-lookup)
@@ -156,13 +156,13 @@ Contributions are welcome. Please read the [contributing guidelines](https://git
156156
* [Doc Browser](https://github.com/qwfy/doc-browser) is a native Linux app that supports DevDocs docsets
157157
* [GNOME Application](https://github.com/hardpixel/devdocs-desktop) GTK3 application with search integrated in headerbar
158158
* [macOS Application](https://github.com/dteoh/devdocs-macos)
159-
* [Android Application](https://github.com/Merith-TK/devdocs_webapp_kotlin) is a fully working, advanced WebView with AppCache enabled
159+
* [Android Application](https://github.com/Merith-TK/devdocs_webapp_kotlin) is a fully working, advanced WebView
160160

161161
## Copyright / License
162162

163163
Copyright 2013-2019 Thibaut Courouble and [other contributors](https://github.com/freeCodeCamp/devdocs/graphs/contributors)
164164

165-
This software is licensed under the terms of the Mozilla Public License v2.0. See the [COPYRIGHT](https://github.com/freeCodeCamp/devdocs/blob/master/COPYRIGHT) and [LICENSE](https://github.com/freeCodeCamp/devdocs/blob/master/LICENSE) files.
165+
This software is licensed under the terms of the Mozilla Public License v2.0. See the [COPYRIGHT](./COPYRIGHT) and [LICENSE](./LICENSE) files.
166166

167167
Please do not use the name DevDocs to endorse or promote products derived from this software without the maintainers' permission, except as may be necessary to comply with the notice/attribution requirements.
168168

assets/images/.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
sprites/**/*

assets/images/docs-1.png

-45.1 KB
Binary file not shown.

assets/images/[email protected]

-119 KB
Binary file not shown.

assets/images/docs-2.png

-19.6 KB
Binary file not shown.

assets/images/[email protected]

-47.5 KB
Binary file not shown.

0 commit comments

Comments
 (0)