History

Finish webpack scraper

Thibaut committed 11 years ago

Commit f0cb4b61 parent ba165ae15 files · +25 −89Browse files

Unified · Split

15 files
  1. assets/images/icons.png +0 −0
  2. assets/images/icons@2x.png +0 −0
  3. assets/javascripts/news.json +1 −1
  4. assets/javascripts/templates/pages/about_tmpl.coffee +5 −0
  5. assets/javascripts/views/pages/javascript.coffee +1 −0
  6. assets/stylesheets/application-dark.css.scss +0 −1
  7. assets/stylesheets/application.css.scss +0 −1
  8. assets/stylesheets/global/_icons.scss +1 −0
  9. assets/stylesheets/pages/_base.scss +2 −1
  10. assets/stylesheets/pages/_webpack.scss +0 −55
  11. lib/docs/filters/webpack/clean_html.rb +6 −18
  12. lib/docs/filters/webpack/entries.rb +2 −12
  13. lib/docs/scrapers/webpack.rb +11 −4
  14. public/icons/docs/webpack/16.png +0 −0
  15. public/icons/docs/webpack/16@2x.png +0 −0
assets/images/icons.png+0−0

Binary file not shown.

assets/images/icons@2x.png+0−0

Binary file not shown.

assets/javascripts/news.json+1−1
@@ -1,7 +1,7 @@
11 [
22 [
33 "2015-07-05",
4− "New documentation: <a href=\"/drupal/\">Drupal</a>"
4+ "New documentations: <a href=\"/drupal/\">Drupal</a> and <a href=\"/webpack/\">webpack</a>"
55 ], [
66 "2015-05-24",
77 "New <a href=\"/rust/\">Rust</a> documentation"
assets/javascripts/templates/pages/about_tmpl.coffee+5−0
@@ -355,6 +355,11 @@ credits = [ · 354 unmodified lines
355355 '2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors',
356356 'MIT',
357357 'https://raw.github.com/jashkenas/underscore/master/LICENSE'
358+ ], [
359+ 'Webpack',
360+ '2012-2015 Tobias Koppers',
361+ 'MIT',
362+ 'https://raw.githubusercontent.com/webpack/webpack/master/LICENSE'
358363 ], [
359364 'Yii',
360365 '2008-2015 by Yii Software LLC',
assets/javascripts/views/pages/javascript.coffee+1−0
@@ -28,6 +28,7 @@ app.views.NodePage = · 27 unmodified lines
2828 app.views.RethinkdbPage =
2929 app.views.SinonPage =
3030 app.views.UnderscorePage =
31+app.views.WebpackPage =
3132 app.views.JavascriptPage
3233
3334 app.views.RequirejsPage =
assets/stylesheets/application-dark.css.scss+0−1
@@ -67,6 +67,5 @@ · 66 unmodified lines
6767 'pages/socketio',
6868 'pages/sphinx',
6969 'pages/underscore',
70− 'pages/webpack',
7170 'pages/yard',
7271 'pages/yii';
assets/stylesheets/application.css.scss+0−1
@@ -68,5 +68,4 @@ · 67 unmodified lines
6868 'pages/sphinx',
6969 'pages/underscore',
7070 'pages/yard',
71− 'pages/webpack',
7271 'pages/yii';
assets/stylesheets/global/_icons.scss+1−0
@@ -102,3 +102,4 @@ · 101 unmodified lines
102102 ._icon-npm:before { background-position: -8rem -7rem; }
103103 ._icon-apache_http_server:before { background-position: -9rem -7rem; }
104104 ._icon-drupal:before { background-position: 0 -8rem; }
105+._icon-webpack:before { background-position: -1rem -8rem; @extend %darkIconFix !optional; }
assets/stylesheets/pages/_base.scss+2−1
@@ -24,7 +24,8 @@ · 23 unmodified lines
2424 ._markdown,
2525 ._mocha,
2626 ._mongoose,
27−._sinon {
27+._sinon,
28+._webpack {
2829 @extend %simple;
2930 }
3031
assets/stylesheets/pages/_webpack.scss+0−55
@@ -1,55 +0,0 @@
1−._webpack {
2− > h2 { @extend %block-heading; }
3− > h3 { @extend %block-label, %label-blue; }
4− > h4 { font-size: 1em; }
5−
6− /*
7− Copied from the original webpack css
8− https://webpack.github.io/docs/css/doc.css
9− */
10− code .comment {
11− color: #998;
12− font-style: italic
13− }
14−
15− code .keyword {
16− color: #333;
17− font-weight: 700
18− }
19−
20− code .number {
21− color: #099
22− }
23−
24− code .string {
25− color: #d14
26− }
27−
28− code .tag {
29− color: navy;
30− font-weight: 400
31− }
32−
33− code .attribute {
34− color: teal
35− }
36−
37− code .regexp {
38− color: #009926
39− }
40−
41− code .preprocessor {
42− color: #999;
43− font-weight: 700
44− }
45−
46− code .deletion {
47− background: #fdd;
48− display: block
49− }
50−
51− code .addition {
52− background: #dfd;
53− display: block
54− }
55−}
lib/docs/filters/webpack/clean_html.rb+6−18
@@ -1,5 +1,5 @@
11 module Docs
2− class Webpack
2+ class Webpack
33 class CleanHtmlFilter < Filter
44 def call
55 root_page? ? root : other
@@ -14,32 +14,20 @@ module Docs · 8 unmodified lines
1414 # in devdocs.
1515 hr_index = doc.children.find_index { |node| node.name == "hr" }
1616 doc.children[0..hr_index].each(&:remove)
17−
18− # Add a page header :)
19− page_header_node = Nokogiri::XML::Node.new "h1", @doc
20− page_header_node.content = "Webpack"
21− @doc.children.first.add_previous_sibling page_header_node
2217 end
2318
2419
2520 def other
2621 # Re-create the header element
27− page_header = at_css("#wikititle").content.upcase
28− page_header_node = Nokogiri::XML::Node.new "h1", @doc
29− page_header_node.content = page_header
22+ at_css("#wiki").child.before("<h1>#{at_css("#wikititle").content}</h1>")
3023
31− # Change the scope of the page
3224 @doc = at_css("#wiki")
3325
34− # Add the page header
35− @doc.children.first.add_previous_sibling page_header_node
36−
37− # Remove the sidebar links in each page
38− css(".contents").remove
39−
40− # Remove all anchors
41− css("a.anchor").remove
26+ css('.contents', 'a.anchor', 'hr').remove
4227
28+ css('pre').each do |node|
29+ node.content = node.content
30+ end
4331 end
4432 end
4533 end
lib/docs/filters/webpack/entries.rb+2−12
@@ -2,7 +2,7 @@ module Docs · 1 unmodified line
22 class Webpack
33 class EntriesFilter < Docs::EntriesFilter
44 def get_name
5− entry_link.content.strip.titleize
5+ entry_link.content
66 end
77
88 def get_type
@@ -10,7 +10,7 @@ module Docs · 1 unmodified line
1010 type_links_list = link_li.parent
1111 current_type = type_links_list.parent
1212
13− # current type is a
13+ # current type is a
1414 # <li>
1515 # TYPE
1616 # <li> <ul> .. links .. </ul> </li>
@@ -20,16 +20,6 @@ module Docs · 3 unmodified lines
2020 current_type.children.first.content.strip.titleize
2121 end
2222
23−
24− def additional_entries
25− return [] unless root_page?
26−
27− css('.sidebar a').each_with_object [] do |link, entries|
28− name = link.content.strip
29− entries << [name, link['href']]
30− end
31− end
32−
3323 private
3424
3525 def entry_link
lib/docs/scrapers/webpack.rb+11−4
@@ -1,13 +1,20 @@
11 module Docs
22 class Webpack < UrlScraper
3− self.name = 'Webpack'
3+ self.name = 'webpack'
44 self.type = 'webpack'
5− self.version = '1.9'
5+ self.version = '1.10'
66 self.base_url = 'https://webpack.github.io/docs/'
7− self.root_path = 'index.html'
7+ self.links = {
8+ home: 'https://webpack.github.io/',
9+ code: 'https://github.com/webpack/webpack'
10+ }
811
9− html_filters.push 'webpack/entries', 'webpack/clean_html'
12+ html_filters.push 'webpack/entries', 'webpack/clean_html', 'title'
1013
14+ options[:title] = false
15+ options[:root_title] = 'webpack'
16+
17+ options[:skip] = %w(list-of-tutorials.html examples.html changelog.html ideas.html roadmap.html)
1118
1219 options[:attribution] = <<-HTML
1320 &copy; 2012&ndash;2015 Tobias Koppers<br>
public/icons/docs/webpack/16.png+0−0

Binary file not shown.

public/icons/docs/webpack/16@2x.png+0−0

Binary file not shown.