This commit is contained in:
Andreas Dangel 2017-05-25 10:22:39 +02:00
parent b193bb28d8
commit b14da68b5a
57 changed files with 10394 additions and 9184 deletions

26
docs/Dockerfile Normal file
View File

@ -0,0 +1,26 @@
FROM ruby:2.1
MAINTAINER mrafayaleem@gmail.com
RUN apt-get clean \
&& mv /var/lib/apt/lists /var/lib/apt/lists.broke \
&& mkdir -p /var/lib/apt/lists/partial
RUN apt-get update
RUN apt-get install -y \
node \
python-pygments \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/
WORKDIR /tmp
ADD Gemfile /tmp/
ADD Gemfile.lock /tmp/
RUN bundle install
VOLUME /src
EXPOSE 4000
WORKDIR /src
ENTRYPOINT ["jekyll"]

View File

@ -1,6 +1,4 @@
source "https://rubygems.org"
# gem "rails"
gem 'github-pages'
gem 'jekyll'
gem 'wdm', '~> 0.1.0' if Gem.win_platform?
gem 'github-pages', group: :jekyll_plugins
gem 'wdm', '>= 0.1.0' if Gem.win_platform?

View File

@ -7,54 +7,76 @@ GEM
minitest (~> 5.1)
thread_safe (~> 0.3, >= 0.3.4)
tzinfo (~> 1.1)
addressable (2.4.0)
addressable (2.5.0)
public_suffix (~> 2.0, >= 2.0.2)
coffee-script (2.4.1)
coffee-script-source
execjs
coffee-script-source (1.10.0)
coffee-script-source (1.12.2)
colorator (1.1.0)
ethon (0.9.0)
ethon (0.10.1)
ffi (>= 1.3.0)
execjs (2.7.0)
faraday (0.9.2)
faraday (0.11.0)
multipart-post (>= 1.2, < 3)
ffi (1.9.14)
ffi (1.9.14-x64-mingw32)
ffi (1.9.17)
forwardable-extended (2.6.0)
gemoji (2.1.0)
github-pages (94)
github-pages (117)
activesupport (= 4.2.7)
github-pages-health-check (= 1.2.0)
jekyll (= 3.2.1)
github-pages-health-check (= 1.3.0)
jekyll (= 3.3.1)
jekyll-avatar (= 0.4.2)
jekyll-coffeescript (= 1.0.1)
jekyll-feed (= 0.5.1)
jekyll-default-layout (= 0.1.4)
jekyll-feed (= 0.8.0)
jekyll-gist (= 1.4.0)
jekyll-github-metadata (= 2.0.2)
jekyll-github-metadata (= 2.3.1)
jekyll-mentions (= 1.2.0)
jekyll-optional-front-matter (= 0.1.2)
jekyll-paginate (= 1.1.0)
jekyll-readme-index (= 0.0.3)
jekyll-redirect-from (= 0.11.0)
jekyll-sass-converter (= 1.3.0)
jekyll-seo-tag (= 2.0.0)
jekyll-sitemap (= 0.10.0)
jekyll-relative-links (= 0.2.1)
jekyll-sass-converter (= 1.5.0)
jekyll-seo-tag (= 2.1.0)
jekyll-sitemap (= 0.12.0)
jekyll-swiss (= 0.4.0)
jekyll-theme-architect (= 0.0.3)
jekyll-theme-cayman (= 0.0.3)
jekyll-theme-dinky (= 0.0.3)
jekyll-theme-hacker (= 0.0.3)
jekyll-theme-leap-day (= 0.0.3)
jekyll-theme-merlot (= 0.0.3)
jekyll-theme-midnight (= 0.0.3)
jekyll-theme-minimal (= 0.0.3)
jekyll-theme-modernist (= 0.0.3)
jekyll-theme-primer (= 0.1.7)
jekyll-theme-slate (= 0.0.3)
jekyll-theme-tactile (= 0.0.3)
jekyll-theme-time-machine (= 0.0.3)
jekyll-titles-from-headings (= 0.1.4)
jemoji (= 0.7.0)
kramdown (= 1.11.1)
liquid (= 3.0.6)
listen (= 3.0.6)
mercenary (~> 0.3)
minima (= 1.0.1)
minima (= 2.0.0)
nokogiri (= 1.6.8.1)
rouge (= 1.11.1)
terminal-table (~> 1.4)
github-pages-health-check (1.2.0)
github-pages-health-check (1.3.0)
addressable (~> 2.3)
net-dns (~> 0.8)
octokit (~> 4.0)
public_suffix (~> 1.4)
public_suffix (~> 2.0)
typhoeus (~> 0.7)
html-pipeline (2.4.2)
html-pipeline (2.5.0)
activesupport (>= 2)
nokogiri (>= 1.4)
i18n (0.7.0)
jekyll (3.2.1)
jekyll (3.3.1)
addressable (~> 2.4)
colorator (~> 1.0)
jekyll-sass-converter (~> 1.0)
jekyll-watch (~> 1.1)
@ -64,26 +86,67 @@ GEM
pathutil (~> 0.9)
rouge (~> 1.7)
safe_yaml (~> 1.0)
jekyll-avatar (0.4.2)
jekyll (~> 3.0)
jekyll-coffeescript (1.0.1)
coffee-script (~> 2.2)
jekyll-feed (0.5.1)
jekyll-default-layout (0.1.4)
jekyll (~> 3.0)
jekyll-feed (0.8.0)
jekyll (~> 3.3)
jekyll-gist (1.4.0)
octokit (~> 4.2)
jekyll-github-metadata (2.0.2)
jekyll-github-metadata (2.3.1)
jekyll (~> 3.1)
octokit (~> 4.0)
octokit (~> 4.0, != 4.4.0)
jekyll-mentions (1.2.0)
activesupport (~> 4.0)
html-pipeline (~> 2.3)
jekyll (~> 3.0)
jekyll-optional-front-matter (0.1.2)
jekyll (~> 3.0)
jekyll-paginate (1.1.0)
jekyll-readme-index (0.0.3)
jekyll (~> 3.0)
jekyll-redirect-from (0.11.0)
jekyll (>= 2.0)
jekyll-sass-converter (1.3.0)
sass (~> 3.2)
jekyll-seo-tag (2.0.0)
jekyll (~> 3.1)
jekyll-sitemap (0.10.0)
jekyll-relative-links (0.2.1)
jekyll (~> 3.3)
jekyll-sass-converter (1.5.0)
sass (~> 3.4)
jekyll-seo-tag (2.1.0)
jekyll (~> 3.3)
jekyll-sitemap (0.12.0)
jekyll (~> 3.3)
jekyll-swiss (0.4.0)
jekyll-theme-architect (0.0.3)
jekyll (~> 3.3)
jekyll-theme-cayman (0.0.3)
jekyll (~> 3.3)
jekyll-theme-dinky (0.0.3)
jekyll (~> 3.3)
jekyll-theme-hacker (0.0.3)
jekyll (~> 3.3)
jekyll-theme-leap-day (0.0.3)
jekyll (~> 3.3)
jekyll-theme-merlot (0.0.3)
jekyll (~> 3.3)
jekyll-theme-midnight (0.0.3)
jekyll (~> 3.3)
jekyll-theme-minimal (0.0.3)
jekyll (~> 3.3)
jekyll-theme-modernist (0.0.3)
jekyll (~> 3.3)
jekyll-theme-primer (0.1.7)
jekyll (~> 3.3)
jekyll-theme-slate (0.0.3)
jekyll (~> 3.3)
jekyll-theme-tactile (0.0.3)
jekyll (~> 3.3)
jekyll-theme-time-machine (0.0.3)
jekyll (~> 3.3)
jekyll-titles-from-headings (0.1.4)
jekyll (~> 3.3)
jekyll-watch (1.5.0)
listen (~> 3.0, < 3.1)
jemoji (0.7.0)
@ -91,7 +154,7 @@ GEM
gemoji (~> 2.0)
html-pipeline (~> 2.2)
jekyll (>= 3.0)
json (1.8.3)
json (1.8.6)
kramdown (1.11.1)
liquid (3.0.6)
listen (3.0.6)
@ -99,49 +162,42 @@ GEM
rb-inotify (>= 0.9.7)
mercenary (0.3.6)
mini_portile2 (2.1.0)
minima (1.0.1)
minitest (5.9.0)
minima (2.0.0)
minitest (5.10.1)
multipart-post (2.0.0)
net-dns (0.8.0)
nokogiri (1.6.8)
nokogiri (1.6.8.1)
mini_portile2 (~> 2.1.0)
pkg-config (~> 1.1.7)
nokogiri (1.6.8-x64-mingw32)
mini_portile2 (~> 2.1.0)
pkg-config (~> 1.1.7)
octokit (4.3.0)
sawyer (~> 0.7.0, >= 0.5.3)
octokit (4.6.2)
sawyer (~> 0.8.0, >= 0.5.3)
pathutil (0.14.0)
forwardable-extended (~> 2.6)
pkg-config (1.1.7)
public_suffix (1.5.3)
rb-fsevent (0.9.7)
rb-inotify (0.9.7)
public_suffix (2.0.5)
rb-fsevent (0.9.8)
rb-inotify (0.9.8)
ffi (>= 0.5.0)
rouge (1.11.1)
safe_yaml (1.0.4)
sass (3.4.22)
sawyer (0.7.0)
addressable (>= 2.3.5, < 2.5)
faraday (~> 0.8, < 0.10)
terminal-table (1.7.0)
unicode-display_width (~> 1.1)
sass (3.4.23)
sawyer (0.8.1)
addressable (>= 2.3.5, < 2.6)
faraday (~> 0.8, < 1.0)
terminal-table (1.7.3)
unicode-display_width (~> 1.1.1)
thread_safe (0.3.5)
typhoeus (0.8.0)
ethon (>= 0.8.0)
tzinfo (1.2.2)
thread_safe (~> 0.1)
unicode-display_width (1.1.0)
unicode-display_width (1.1.3)
wdm (0.1.1)
PLATFORMS
ruby
x64-mingw32
DEPENDENCIES
github-pages
jekyll
wdm (~> 0.1.0)
wdm (>= 0.1.0)
BUNDLED WITH
1.12.5
1.14.3

View File

@ -1,3 +1,4 @@
repository: pmd/pmd
output: web
# this property is useful for conditional filtering of content that is separate from the PDF.
@ -11,7 +12,7 @@ site_title: PMD Source Code Analyzer
company_name: PMD Open Source Project
# this appears in the footer
github_editme_path:
github_editme_path: pmd/pmd/blob/master/docs/
# if you're using Github, provide the basepath to the branch you've created for reviews, following the sample here. if not, leave this value blank.
disqus_shortname:

View File

@ -1,4 +1,3 @@
<p>{% assign series_pages = site.tags.series_acme %}
{% for p in pages %}
{% if p.series == "Getting Started" %}

View File

@ -1,10 +1,30 @@
<p>{% assign series_pages = site.tags.series_acme %}
{% for p in pages %}
{% if p.series == "ACME series" %}
{% assign nextTopic = page.weight | plus: "1" %}
{% if p.weight == nextTopic %}
<a href="{{p.url | remove: "/"}}"><button type="button" class="btn btn-primary">Next: {{p.weight}} {{p.title}}</button></a>
{% endif %}
{% endif %}
{% endfor %}
</p>
<div class="seriesContext">
<a>
{% assign pages = site.pages | sort:"weight" %}
{% for pg in pages %}
{% if pg.series == "ACME series" %}
{% if pg.weight > page.weight %}
<a href="{{pg.url | remove: '/'}}"><button type="button" class="btn btn-primary">Next: {{pg.title}}</button></a>
{% break %}
{% endif %}
{% endif %}
{% endfor %}
</a>
&nbsp;
<div class="btn-group">
<button type="button" data-toggle="dropdown" class="btn btn-primary dropdown-toggle">Jump to: <span class="caret"></span></button>
<ol class="dropdown-menu">
{% for pg in pages %}
{% if pg.series == "ACME series" %}
{% if pg.url == page.url %}
<li class="active"> → {{pg.weight}}. {{pg.title}}</li>
{% else %}
<li>
<a href="{{pg.url | remove: '/'}}">{{pg.title}}</a>
</li>
{% endif %}
{% endif %}
{% endfor %}
</ol>
</div>
</div>

View File

@ -1 +1,13 @@
<li><a class="email" title="Submit feedback" href="#" onclick="javascript:window.location='mailto:{{site.feedback_email}}?subject={{site.feedback_subject_line}} f eedback&body=I have some feedback about the {{page.title}} page: ' + window.location.href;"><i class="fa fa-envelope-o"></i> Feedback</a><li>
<li>
{% if site.feedback_text %}
{% assign feedback_text = site.feedback_text %}
{% else %}
{% assign feedback_text = "Feedback" %}
{% endif %}
{% if site.feedback_link %}
<a class="email" title="Submit feedback" href="{{site.feedback_link}}">{{feedback_text}}</a>
{% else %}
<a class="email" title="Submit feedback" href="#" onclick="javascript:window.location='mailto:{{site.feedback_email}}?subject={{site.feedback_subject_line}} feedback&body=I have some feedback about the {{page.title}} page: ' + window.location.href;"><i class="fa fa-envelope-o"></i> {{feedback_text}}</a>
{% endif %}
</li>

0
docs/_includes/footer.html Normal file → Executable file
View File

View File

@ -33,4 +33,4 @@
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<link rel="alternate" type="application/rss+xml" title="{{ site.title }}" href="{{ "feed.xml" | prepend: site.url }}">
<link rel="alternate" type="application/rss+xml" title="{{ site.title }}" href="{{ "/feed.xml" | prepend: site.url }}">

View File

@ -1 +1 @@
<figure>{% if {{include.url}} %}<a class="no_icon" target="_blank" href="{{include.url}}">{% endif %}<img class="docimage" src="images/{{include.file}}" alt="{{include.alt}}" {% if {{include.max-width}} %}style="max-width: {{include.max-width}}px"{% endif %} />{% if {{include.url}} %}</a>{% endif %}{% if {{include.caption}} %}<figcaption>{{include.caption}}</figcaption></figure>{% endif %}
<figure>{% if {{include.url}} %}<a class="no_icon" target="_blank" href="{{include.url}}">{% endif %}<img class="docimage" src="images/{{include.file}}" alt="{{include.alt}}" {% if {{include.max-width}} %}style="max-width: {{include.max-width}}px"{% endif %} />{% if {{include.url}} %}</a>{% endif %}{% if {{include.caption}} %}<figcaption>{{include.caption}}</figcaption>{% endif %}</figure>

View File

@ -40,7 +40,8 @@
{% endif %}
{% endfor %}
</ul>
{% endif %}
</li>
{% endif %}
{% endfor %}
{% endfor %}
<!-- if you aren't using the accordion, uncomment this block:
@ -48,9 +49,7 @@
<a href="#" id="collapseAll">Collapse All</a> | <a href="#" id="expandAll">Expand All</a>
</p>
-->
</li>
</ul>
</div>
<!-- this highlights the active parent class in the navgoco sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
<script>$("li.active").parents('li').toggleClass("active");</script>

View File

@ -12,6 +12,8 @@
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right">
<!-- toggle sidebar button -->
<li><a id="tg-sb-link" href="#"><i id="tg-sb-icon" class="fa fa-toggle-on"></i> Nav</a></li>
<!-- entries without drop-downs appear here -->
{% for entry in site.data.topnav.topnav %}
{% for item in entry.items %}
@ -60,7 +62,7 @@
searchInput: document.getElementById('search-input'),
resultsContainer: document.getElementById('results-container'),
dataSource: '{{ "search.json" }}',
searchResultTemplate: '<li><a href="{url}" title="{{page.title | replace: "'", "\"}}">{title}</a></li>',
searchResultTemplate: '<li><a href="{url}" title="{{page.title | replace: "\'", "\"}}">{title}</a></li>',
noResultsText: '{{site.data.strings.search_no_results_text}}',
limit: 10,
fuzzy: true,

View File

@ -1,4 +1,5 @@
<!DOCTYPE html>
<html>
<head>
{% include head.html %}
<script>
@ -38,17 +39,35 @@
$('[data-toggle="tooltip"]').tooltip()
})
</script>
{% if page.datatable == true %}
<link rel="stylesheet" type="text/css" href="//cdn.datatables.net/1.10.5/css/jquery.dataTables.css">
<script type="text/javascript" charset="utf8" src="//cdn.datatables.net/1.10.5/js/jquery.dataTables.js"></script>
<script>
$(document).ready(function(){
$('table.datatable').DataTable( {
paging: false,
stateSave: true
}
);
$(document).ready(function() {
$("#tg-sb-link").click(function() {
$("#tg-sb-sidebar").toggle();
$("#tg-sb-content").toggleClass('col-md-9');
$("#tg-sb-content").toggleClass('col-md-12');
$("#tg-sb-icon").toggleClass('fa-toggle-on');
$("#tg-sb-icon").toggleClass('fa-toggle-off');
});
});
</script>
{% if page.datatable == true %}
<!-- Include the standard DataTables bits -->
<link rel="stylesheet" type="text/css" href="//cdn.datatables.net/1.10.13/css/jquery.dataTables.css">
<script type="text/javascript" charset="utf8" src="//cdn.datatables.net/1.10.13/js/jquery.dataTables.js"></script>
<!-- First, this walks through the tables that occur between ...-begin
and ...-end and add the "datatable" class to them.
Then it invokes DataTable's standard initializer
Credit here: http://www.beardedhacker.com/blog/2015/08/28/add-class-attribute-to-markdown-table/
-->
<script>
$(document).ready(function(){
$('div.datatable-begin').nextUntil('div.datatable-end', 'table').addClass('display');
$('table.display').DataTable( {
paging: true,
stateSave: true,
searching: true
});
});
</script>
{% endif %}
@ -60,14 +79,19 @@
<div class="col-lg-12">&nbsp;</div>
<!-- Content Row -->
<div class="row">
<!-- Sidebar Column -->
<div class="col-md-3">
{% assign content_col_size = "col-md-12" %}
{% unless page.hide_sidebar %}
<!-- Sidebar Column -->
<div class="col-md-3" id="tg-sb-sidebar">
{% include sidebar.html %}
</div>
{% assign content_col_size = "col-md-9" %}
{% endunless %}
{% include sidebar.html %}
<!-- Content Column -->
<div class="col-md-9">
{{content}}
</div>
<!-- Content Column -->
<div class="{{content_col_size}}" id="tg-sb-content">
{{content}}
</div>
<!-- /.row -->
</div>
<!-- /.container -->
@ -77,4 +101,4 @@
{% if site.google_analytics %}
{% include google_analytics.html %}
{% endif %}
</html>
</html>

View File

@ -38,14 +38,12 @@ layout: default
{% include toc.html %}
{% endunless %}
{% unless jekyll.environment == "production" %}
{% if site.github_editme_path %}
<a target="_blank" href="https://github.com/{{site.github_editme_path}}/_pages/{{page.folder}}/{{page.url | remove: "/" | append: ".md"}}" class="btn btn-default githubEditButton" role="button"><i class="fa fa-github fa-lg"></i> Edit me</a>
{% endif %}
<a target="_blank" href="https://github.com/{{site.github_editme_path}}{% unless page.url contains "index.html" %}pages/{% endunless %}{{page.folder}}{{page.url | remove: ".html" | append: ".md"}}" class="btn btn-default githubEditButton" role="button"><i class="fa fa-github fa-lg"></i> Edit me</a>
{% endunless %}
{% endif %}
{{content}}
@ -61,9 +59,7 @@ layout: default
{% endif %}
</div>
{% if site.disqus %}
{% include disqus.html %}
{% endif %}
</div>

View File

@ -32,9 +32,7 @@ layout: default
</article>
{% if site.disqus %}
{% include disqus.html %}
{% endif %}
{{site.data.alerts.hr_shaded}}

View File

@ -1,5 +1,5 @@
---
id: baseball
doc_id: baseball
product: mydoc
---

View File

@ -1,5 +1,5 @@
---
id: basketball
doc_id: basketball
product: mydoc
---

View File

@ -1,5 +1,5 @@
---
id: football
doc_id: football
product: mydoc
---

View File

@ -1,5 +1,5 @@
---
id: soccer
doc_id: soccer
product: mydoc
---

0
docs/css/bootstrap.min.css vendored Normal file → Executable file
View File

View File

@ -161,9 +161,7 @@ table > colgroup + thead > tr:first-child > td,
table > thead:first-child > tr:first-child > td {
border-top: 0;
}
table > tbody + tbody {
b
}
table > tbody > tr:nth-of-type(odd) {
background-color: #f9f9f9;
}
@ -198,7 +196,7 @@ table tr td {
p.external a {
text-align:right;
font-size:12px;
font-color: #0088cc;
color: #0088cc;
display:inline;
}
@ -228,7 +226,7 @@ ul#results-container a {
background-color: transparent;
}
ul#results-container a: hover {
ul#results-container a:hover {
color: black;
}
@ -369,7 +367,7 @@ a.accordion-toggle, a.accordion-collapsed {
.nav li > a > span:after {
content: '\25be';
}
.nav li.open > a > span:after {
.nav li.active > a > span:after {
content: '\25b4';
}
@ -665,8 +663,6 @@ div.tags {padding: 10px 5px;}
}
hr {
border: 0;
border-bottom: 1px dashed #ccc;
background: #999;
margin: 30px 0px;
width: 90%;
@ -722,7 +718,7 @@ ol.series li {
text-align: center;
margin-bottom: 20px;
font-family: courier;
font-color: silver;
color: silver;
color: #444;
display:block;
}
@ -896,6 +892,28 @@ span.soft {
max-height: 100%;
}
.post-content img {
margin: 12px 0px 3px 0px;
width: auto;
height: auto;
max-width: 100%;
max-height: 100%;
}
.col-md-9 img {
max-width: 100%;
max-height: 100%;
}
.post-content img {
margin: 12px 0px 3px 0px;
width: auto;
height: auto;
max-width: 100%;
max-height: 100%;
}
.videoThumbs img {
float: left;
margin:15px 15px 15px 0px;
@ -904,7 +922,7 @@ span.soft {
}
@media only screen and (min-width: 900px), @media only screen and (min-device-width: 900px) {
@media only screen and (min-width: 900px), only screen and (min-device-width: 900px) {
.col-md-9 img {
max-width: 700px;
max-height: 700px;
@ -1158,4 +1176,4 @@ div.box.box1 {
h4.panel-title {
padding-top: 0px;
margin-top: 0px;
}
}

0
docs/css/modern-business.css Normal file → Executable file
View File

0
docs/js/jquery.navgoco.min.js vendored Normal file → Executable file
View File

View File

@ -16,7 +16,7 @@ Suppose you have a glossary.yml file inside your \_data folder. You could pull i
{% raw %}
```html
<a href="#" data-toggle="tooltip" data-original-title="{{site.data.glossary.jekyll_platform}}">Jekyll</a> is my favorite tool for building websites.</a>
<a href="#" data-toggle="tooltip" data-original-title="{{site.data.glossary.jekyll_platform}}">Jekyll</a> is my favorite tool for building websites.
```
{% endraw %}

View File

@ -10,11 +10,12 @@ folder: mydoc
---
## About alerts
Alerts are little warnings, info, or other messages that you have called out in special formatting. In order to use these alerts or callouts, reference the appropriate value stored in the alerts.yml file as described in the following sections.
## Alerts
Similar to [inserting images][mydoc_images]), you insert alerts through various includes that have been developed. These includes provide templates through which you pass parameters to easily populate the right HTML code.
Similar to [inserting images][mydoc_images], you insert alerts through various includes that have been developed. These includes provide templates through which you pass parameters to easily populate the right HTML code.
```
{%raw%}{% include note.html content="This is my note. All the content I type here is treated as a single paragraph." %}{% endraw%}
@ -118,7 +119,7 @@ Here's the result:
## Use Liquid variables inside parameters with includes
Suppose you have a product name or some other property that you're storing as a variable in your configuration file (\_congfig.yml), and you want to use this variable in the `content` parameter for your alert or callout. You will get an error if you use Liquid syntax inside a include parameter. For example, this syntax will produce an error:
Suppose you have a product name or some other property that you're storing as a variable in your configuration file (\_config.yml), and you want to use this variable in the `content` parameter for your alert or callout. You will get an error if you use Liquid syntax inside a include parameter. For example, this syntax will produce an error:
```
{%raw%}{% include note.html content="The {{site.company}} is pleased to announce an upcoming release." %}{%endraw%}

View File

@ -18,28 +18,18 @@ There's an Edit me button on each page on this theme. This button allows collabo
Here's the code for that button on the page.html layout:
{% raw %}
```
{% unless jekyll.environment == "production" %}
{% raw %}{% if site.github_editme_path %}
{% if site.github_editme_path %}
<a target="_blank" href="https://github.com/{{site.github_editme_path}}/{{page.folder}}{{page.url | append: ".md"}}{% endif %}" class="btn btn-default githubEditButton" role="button"><i class="fa fa-github fa-lg"></i> Edit me</a>
<a target="_blank" href="https://github.com/{{site.github_editme_path}}/{{page.folder}}{{page.url | append: ".md"}}{% endif %}" class="btn btn-default githubEditButton" role="button"><i class="fa fa-github fa-lg"></i> Edit me</a>
{% endif %}{% endraw %}
```
{% endraw %}
This code is only active if you're publishing in a development environment, which is the default.
To activate the production environment, add the [production environment flag](http://jekyllrb.com/docs/configuration/) in your build command:
{% raw %}
```
JEKYLL_ENV=production jekyll serve
```
{% endraw %}
In your configuration file, edit the value for `github_editme_path`. For example, you might create a branch called "reviews" on your Github repo. Then you would add something like this in your configuration file for the 'github_editme_path': tomjohnson1492/documentation-theme-jekyll/edit/reviews. Here "tomjohnson1492" is my github account name. The repo name is "documentation-theme-jekyll". The "reviews" name is the branch.
To suppress this button, comment out the `github_editme_path` in the \_config.yml file.
## Add reviewers as collaborators

View File

@ -39,7 +39,7 @@ A collection is another content type that extends Jekyll beyond the use of pages
Add the following information to your configuration file to declare your collection:
```liquid
```
collections:
tooltips:
output: false
@ -65,19 +65,19 @@ Create pages inside your new tooltips collection (that is, inside the \_tooltips
Here's an example:
{% highlight yaml %}
{% raw %}```liquid
```yaml
{% raw %}
---
id: basketball
doc_id: basketball
product: mydoc
---
{{site.data.definitions.basketball}}{% endraw %}
```
{% endhighlight %}
(Note: Avoid using `id`, as it seems to generate out as `/tooltips/basketball` instead of just `basketball.)
You need to create a separate page for each tooltip you want to deliver.
You need to create a separate file for each tooltip you want to deliver.
The product attribute is required in the frontmatter to distinguish the tooltips produced here from the tooltips for other products in the same \_tooltips folder. When creating the JSON file, Jekyll will iterate through all the pages inside \_tooltips, regardless of any subfolders included here.
@ -90,46 +90,44 @@ Inside your project's pages directory (e.g., mydoc), add a file called "tooltips
{% raw %}
```liquid
---
layout: none
layout: null
search: exclude
---
{
"entries":
[
{% for page in site.tooltips %}
{% if page.product == "mydoc" %}
{
"id" : "{{ page.id }}",
"doc_id": "{{ page.doc_id }}",
"body": "{{ page.content | strip_newlines | replace: '\', '\\\\' | replace: '"', '\\"' }}"
} {% unless forloop.last %},{% endunless %}
{% endif %}
{% endfor %}
]
}
```
{% endraw %}
Change "mydoc" to the product name you used in each of the tooltip files. The template here will only include content in the JSON file if it meets the `product` attribute requirements. We need this `if` statement to prevent tooltips from other products from being included in the JSON file.
This code will loop through all pages in the tooltips collection and insert the `id` and `body` into key-value pairs for the JSON code. Here's an example of what that looks like after it's processed by Jekyll in the site build:
```
```json
{
"entries": [
{
"id": "baseball",
"doc_id": "baseball",
"body": "{{site.data.definitions.baseball}}"
},
{
"id": "basketball",
"doc_id": "basketball",
"body": "{{site.data.definitions.basketball}}"
},
{
"id": "football",
"doc_id": "football",
"body": "{{site.data.definitions.football}}"
},
{
"id": "soccer",
"doc_id": "soccer",
"body": "{{site.data.definitions.soccer}}"
}
]
@ -138,7 +136,7 @@ This code will loop through all pages in the tooltips collection and insert the
You can also view the same JSON file here: <a target="_blank" href="tooltips.json">tooltips.json</a>.
You can add different fields depending on how you want the JSON to be structured. Here we just have to fields: `id` and `body`. And the JSON is looking just in the tooltips collection that we created.
You can add different fields depending on how you want the JSON to be structured. Here we just have to fields: `doc_id` and `body`. And the JSON is looking just in the tooltips collection that we created.
{% include tip.html content="Check out [Google's style guide](https://google-styleguide.googlecode.com/svn/trunk/jsoncstyleguide.xml) for JSON. These best practices can help you keep your JSON file valid." %}
@ -148,7 +146,7 @@ By chunking up your JSON files, you can provide a quicker lookup. (I'm not sure
## 5. Build your site and look for the JSON file
When you build your site, Jekyll will iterate through every page in your \_tooltips folder and put the page id and body into this format. In the output, look for the JSON file in the tooltips.json file. You'll see that Jekyll has populated it with content. This is because of the triple hyphen lines in the JSON file &mdash; this instructs Jekyll to process the file.
When you build your site, Jekyll will iterate through every page in your _tooltips folder and put the page id and body into this format. In the output, look for the JSON file in the tooltips.json file. You'll see that Jekyll has populated it with content. This is because of the triple hyphen lines in the JSON file &mdash; this instructs Jekyll to process the file.
## 6. Allow CORS access to your help if stored on a remote server
@ -207,30 +205,38 @@ If you don't have CORS enabled, users will see a CORS error/warning message in t
## 7. Explain how developers can access the help
Developers can access the help using the `.get` method from jQuery, among other methods. Here's an example of how to get a page with the ID of `basketball`:
Developers can access the help using the `.get` method from jQuery, among other methods. Here's an example of how to get tooltips for basketball, baseball, football, and soccer:
```js
{% raw %}<script type="text/javascript">
$(document).ready(function(){
var url = "mydoc_tooltips_source.json";
$.get( url, function( data ) {
$.each(data.entries, function(i, page) {
if (page.id == "basketball") {
$( "#basketball" ).attr( "data-content", page.body );
}
});
});
});
</script>{% endraw %}
{% raw %}var url = "tooltips.json";
$.get( url, function( data ) {
/* Bootstrap popover text is defined inside a data-content attribute inside an element. That's
why I'm using attr here. If you just want to insert content on the page, use append and remove the data-content argument from the parentheses.*/
$.each(data.entries, function(i, page) {
if (page.doc_id == "basketball") {
$( "#basketball" ).attr( "data-content", page.body );
}
if (page.doc_id == "baseball") {
$( "#baseball" ).attr( "data-content", page.body );
}
if (page.doc_id == "football") {
$( "#football" ).attr( "data-content", page.body );
}
if (page.doc_id == "soccer") {
$( "#soccer" ).attr( "data-content", page.body );
}
});
});{% endraw %}
```
View the <a target="_blank" href="tooltips.html" class="noCrossRef">tooltip demo</a> for a demonstration.
View the <a target="_blank" href="tooltips.html" class="noCrossRef">tooltip demo</a> for a demonstration. See the source code for full code details.
The `url` in the demo is relative, but you could equally point it to an absolute path on a remote host assuming CORS is enabled on the host.
@ -264,7 +270,7 @@ $(document).ready(function(){
});
```
Again, see the <a class="noCrossRef" href="/tooltips">Tooltip Demo</a> for a demo of the full code.
Again, see the <a class="noCrossRef" href="tooltips.html">Tooltip Demo</a> for a demo of the full code.
Note that even though you reference a Bootstrap JS script, Bootstrap's popovers require you to initialize them using the above code as well &mdash; they aren't turned on by default.

View File

@ -199,13 +199,13 @@ And here's the shortcode:
{% raw %}
```
{{site.data.alerts.callout_info}This is a special callout information message.
{{site.data.alerts.callout_info}This is a special callout information message.{{site.data.alerts.end}}
{% endraw %}
```
Here's the result:
{{site.data.alerts.callout_info}}This is a special callout information message.
{{site.data.alerts.callout_info}}This is a special callout information message.{{site.data.alerts.end}}
You can use any of the following:
{% raw %}

View File

@ -11,7 +11,7 @@ folder: mydoc
## Image Include Template
Instead of using Markdown or HMTL syntax directly in your page for images, the syntax for images has been extracted out into an image include that allows you to pass the parameters you need. Include the image.html like this:
Instead of using Markdown or HTML syntax directly in your page for images, the syntax for images has been extracted out into an image include that allows you to pass the parameters you need. Include the image.html like this:
```liquid
{% raw %}

View File

@ -111,4 +111,47 @@ The vanilla Jekyll site you create through `jekyll new my-awesome-site` doesn't
2. Type `jekyll serve`
3. Go to the preview address in the browser. (Make sure you include the `/` at the end.)
## Resolve "No Github API authentication" errors {#githuberror}
After making an edit, Jekyll auto-rebuilds the site. If you have the Gemfile in the theme with the github-pages gem, you may see the following error:
```
GitHub Metadata: No GitHub API authentication could be found. Some fields may be missing or have incorrect data.
```
If you see this error, you will need to take some additional steps to resolve it. (Note that this error only appears if you have the github-pages gem in your gemfile.) The resolution involves adding a Github token and a cert file.
{% include note.html content="These instructions apply to Mac OS X, but they're highly similar to Windows. These instructions are adapted from a post on [Knight Codes](http://knightcodes.com/miscellaneous/2016/09/13/fix-github-metadata-error.html). If you're on Windows, see the Knight Codes post for details instead of following along below." %}
To resolve the "No Github API authentication" error:
1. Follow Github's instructions to [create a personal access token](https://help.github.com/articles/creating-an-access-token-for-command-line-use/).
2. Open the **.bash_profile** file in your user directory:
```
open ~/.bash_profile
```
The file will open in your default terminal editor. If you don't have a .bash_profile file, you can just create a file with this name. Note that files that begin with `.` are hidden, so if you're looking in your user directory for the file, use `ls -a` to see hidden files.
3. In your **.bash_profile** file, reference your token as a system variable like this:
```
export JEKYLL_GITHUB_TOKEN=abc123abc123abc123abc123abc123abc123abc123abc123
```
Replace `abc123...` with your own token that you generated in step 1.
4. Go to **[https://curl.haxx.se/ca/cacert.pem][https://curl.haxx.se/ca/cacert.pem]. Right-click the page, select **Save as**, and save the file on your computer (save it somewhere safe, where you won't delete it). Name the file **cacert**.
5. Open your **.bash_profile** file again and add this line, replacing `Users/johndoe/projects/` with the path to your cacert.pem file:
```
export SSL_CERT_FILE=/Users/johndoe/projects/cacert.pem
```
6. Close and restart your terminal.
Browse to your jekyll project and run `bundle exec jekyll serve`. Make an edit to a file and observe that no Github API errors appear when Jekyll rebuilds the project.
{% include links.html %}

Some files were not shown because too many files have changed in this diff Show More