History

Add WordPress documentation

Szabolcs Légrádi committed 8 years ago

Commit 330e3371 parent 1be7a8f9 files · +101 −-2Browse files

Unified · Split

9 files
  1. assets/stylesheets/application-dark.css.scss +1 −0
  2. assets/stylesheets/application.css.scss +1 −0
  3. assets/stylesheets/pages/_wordpress.scss +11 −0
  4. lib/docs/filters/wordpress/clean_html.rb +27 −0
  5. lib/docs/filters/wordpress/entries.rb +23 −0
  6. lib/docs/scrapers/wordpress.rb +39 −0
  7. public/icons/docs/wordpress/16.png +0 −0
  8. public/icons/docs/wordpress/16@2x.png +0 −0
  9. public/icons/docs/wordpress/SOURCE +1 −0
assets/stylesheets/application-dark.css.scss+1−0
@@ -98,5 +98,6 @@ · 97 unmodified lines
9898 'pages/underscore',
9999 'pages/vue',
100100 'pages/webpack',
101+ 'pages/wordpress',
101102 'pages/yard',
102103 'pages/yii';
assets/stylesheets/application.css.scss+1−0
@@ -98,5 +98,6 @@ · 97 unmodified lines
9898 'pages/underscore',
9999 'pages/vue',
100100 'pages/webpack',
101+ 'pages/wordpress',
101102 'pages/yard',
102103 'pages/yii';
assets/stylesheets/pages/_wordpress.scss+11−0
@@ -0,0 +1,11 @@
1+._wordpress {
2+ @extend %simple;
3+
4+ .breadcrumbs {
5+ display: none;
6+ }
7+
8+ .callout-warning {
9+ @extend %note, %note-red;
10+ }
11+}
lib/docs/filters/wordpress/clean_html.rb+27−0
@@ -0,0 +1,27 @@
1+module Docs
2+ class Wordpress
3+ class CleanHtmlFilter < Filter
4+ def call
5+ if root_page?
6+ doc.inner_html = '<h1>WordPress</h1>'
7+ return doc
8+ end
9+
10+ css('hr', '.screen-reader-text', '.table-of-contents',
11+ '.anchor', '.toc-jump', '.source-code-links', '.related',
12+ '.user-notes').remove
13+
14+ # Add PHP code highlighting
15+ br = /<br\s?\/?>/i
16+ css('.source-code-container', '.syntaxhighlighter').each do |node|
17+ node.name = 'pre'
18+ node.inner_html = node.inner_html.gsub(br, "\n")
19+ node.content = node.content.strip
20+ node['data-language'] = 'php'
21+ end
22+
23+ doc
24+ end
25+ end
26+ end
27+end
lib/docs/filters/wordpress/entries.rb+23−0
@@ -0,0 +1,23 @@
1+module Docs
2+ class Wordpress
3+ class EntriesFilter < Docs::EntriesFilter
4+ def breadcrumbs
5+ @breadcrumbs ||= css('.breadcrumbs .trail-inner a')
6+ .map(&:content)
7+ .map(&:strip)
8+ end
9+
10+ def get_name
11+ at_css('.breadcrumbs .trail-end').content
12+ end
13+
14+ def get_type
15+ if breadcrumbs.size > 1
16+ breadcrumbs.drop(1).join(': ')
17+ else
18+ at_css('.breadcrumbs .trail-end').content
19+ end
20+ end
21+ end
22+ end
23+end
lib/docs/scrapers/wordpress.rb+39−0
@@ -0,0 +1,39 @@
1+module Docs
2+ class Wordpress < UrlScraper
3+ self.name = 'WordPress'
4+ self.type = 'wordpress'
5+ self.release = '4.9.4'
6+ self.base_url = 'https://developer.wordpress.org/reference/'
7+ self.initial_paths = %w(
8+ functions/
9+ hooks/
10+ classes/
11+ )
12+
13+ self.links = {
14+ home: 'https://wordpress.org/',
15+ code: 'https://github.com/WordPress/WordPress'
16+ }
17+
18+ html_filters.push 'wordpress/clean_html', 'wordpress/entries'
19+
20+ options[:container] = '#content-area'
21+ options[:trailing_slash] = true
22+ options[:only_patterns] = [
23+ /\Afunctions\//,
24+ /\Ahooks\//,
25+ /\Aclasses\//
26+ ]
27+
28+ options[:skip_patterns] = [
29+ /\Afunctions\/page\/\d+/,
30+ /\Ahooks\/page\/\d+/,
31+ /\Aclasses\/page\/\d+/
32+ ]
33+
34+ options[:attribution] = <<-HTML
35+ &copy; 2003&ndash;2018 WordPress Foundation<br>
36+ Licensed under the GNU GPLv2+ License.
37+ HTML
38+ end
39+end
public/icons/docs/wordpress/16.png+0−0

Binary file not shown.

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

Binary file not shown.

public/icons/docs/wordpress/SOURCE+1−0
@@ -0,0 +1 @@
1+https://wordpress.org/about/logos/

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t