diff --git a/_config.yml b/_config.yml
index ac7b003..66a26b7 100644
--- a/_config.yml
+++ b/_config.yml
@@ -12,7 +12,7 @@ site_title: Jekyll theme for designers
# this appears in the html browser tab for the site title (seen mostly by search engines, not users)
company_name: Your company
# this appears in the footer
-github_editme_path: tomjohnson1492/documentation-theme-jekyll/edit/reviews
+github_editme_path: tomjohnson1492/documentation-theme-jekyll/blob/gh-pages
# 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: idrbwjekyll
# if you're using disqus for comments, add the shortname here. if not, leave this value blank.
@@ -86,4 +86,3 @@ defaults:
description: "Intended as a documentation theme based on Jekyll for technical writers documenting software and other technical products, this theme has all the elements you would need to handle multiple products with both multi-level sidebar navigation, tags, and other documentation features."
# the description is used in the feed.xml file
-
diff --git a/_layouts/page.html b/_layouts/page.html
index 5eae7ef..e1fc11f 100644
--- a/_layouts/page.html
+++ b/_layouts/page.html
@@ -33,13 +33,12 @@ layout: default
{% if site.github_editme_path %}
- Edit me
- {% endif %}
-
- {% endunless %}
+ Edit me
{{content}}
+ {% endunless %}
+
{% if page.tags != null %}
Tags:
diff --git a/index.md b/index.md
index e467898..d3b5732 100644
--- a/index.md
+++ b/index.md
@@ -5,7 +5,7 @@ sidebar: mydoc_sidebar
type: homepage
---
-## Overview
+## Overview
These brief instructions will help you get started quickly with the theme. The other topics in this help provide additional information and detail about working with other aspects of this theme and Jekyll.
@@ -114,7 +114,7 @@ entries:
product: Jekyll Doc Theme
version: 5.0
folders:
- - title: Overview
+ - title: Overview
output: web, pdf
folderitems:
- title: Some page
@@ -123,7 +123,7 @@ entries:
- title: Another page
url: /another-doc-page/
output: web, pdf
-
+
- title: Configuration
output: web
folderitems:
@@ -243,15 +243,15 @@ When you want to insert paragraphs, notes, code snippets, or other matter in bet
```
1. First item
-
+
```
alert("hello");
```
-
+
2. Second item
-
+
Some pig!
-
+
3. Third item
```
@@ -265,6 +265,3 @@ If you want to use a simple system for managing links, see the "Managed Links" s
## Other instructions
For other details in working with the theme, see the various sections in the sidebar.
-
-
-
diff --git a/mydoc/mydoc_about.md b/mydoc/mydoc_about.md
index 204beb5..0e7995a 100644
--- a/mydoc/mydoc_about.md
+++ b/mydoc/mydoc_about.md
@@ -6,6 +6,7 @@ tags: [getting_started]
summary: "I have used this theme for projects that I've worked on as a professional technical writer."
sidebar: mydoc_sidebar
permalink: /mydoc_about/
+folder: mydoc
---
My name is Tom Johnson, and I'm a technical writer, blogger, and podcaster based in San Jose, California. My blog is here: [http://idratherbewriting.com](http://idratherbewriting.com). I write several posts there a week. See [my blog's about page](http://idratherbewriting.com/aboutme/) for more details about me.
diff --git a/mydoc/mydoc_about_ruby_gems_bundler.md b/mydoc/mydoc_about_ruby_gems_bundler.md
index a79ccfb..66d563e 100644
--- a/mydoc/mydoc_about_ruby_gems_bundler.md
+++ b/mydoc/mydoc_about_ruby_gems_bundler.md
@@ -5,23 +5,24 @@ keywords:
summary: "Ruby is a programming language you must have on your computer in order to build Jekyll locally. Ruby has various gems (or plugins) that provide various functionality. Each Jekyll project usually requires certain gems."
sidebar: mydoc_sidebar
permalink: /mydoc_about_ruby_gems_etc/
+folder: mydoc
---
## About Ruby
-Jekyll runs on Ruby, a programming language. You have to have Ruby on your computer in order to run Ruby-based programs like Jekyll. Ruby is installed on the Mac by default, but you must add it to Windows.
+Jekyll runs on Ruby, a programming language. You have to have Ruby on your computer in order to run Ruby-based programs like Jekyll. Ruby is installed on the Mac by default, but you must add it to Windows.
## About Ruby Gems
Ruby has a number of plugins referred to as "gems." Just because you have Ruby doesn't mean you have all the necessary Ruby gems that your program needs to run. Gems provide additional functionality for Ruby programs. There are thousands of [Rubygems](https://rubygems.org/) available for you to use.
-Some gems depend on other gems for functionality. For example, the Jekyll gem might depend on 20 other gems that must also be installed.
+Some gems depend on other gems for functionality. For example, the Jekyll gem might depend on 20 other gems that must also be installed.
-Each gem has a version associated with it, and not all gem versions are compatible with each other.
+Each gem has a version associated with it, and not all gem versions are compatible with each other.
## Rubygem package managers
-
-[Bundler](http://bundler.io/) is a gem package manager for Ruby, which means it goes out and gets all the gems you need for your Ruby programs. If you tell Bundler you need the [jekyll gem](https://rubygems.org/gems/jekyll), it will retrieve all the dependencies on the jekyll gem as well -- automatically.
+
+[Bundler](http://bundler.io/) is a gem package manager for Ruby, which means it goes out and gets all the gems you need for your Ruby programs. If you tell Bundler you need the [jekyll gem](https://rubygems.org/gems/jekyll), it will retrieve all the dependencies on the jekyll gem as well -- automatically.
Not only does Bundler retrieve the right gem dependencies, but it's smart enough to retrieve the right versions of each gem. For example, if you get the [github-pages](https://rubygems.org/gems/github-pages) gem, it will retrieve all of these other gems:
@@ -51,17 +52,17 @@ terminal-table ~> 1.
```
See how Bundler retrieved version 3.0.3 of the jekyll gem, even though (as of this writing) the latest version of the jekyll gem is 3.1.2? That's because github-pages is only compatible up to jekyll 3.0.3. Bundler handles all of this dependency and version compatibility for you.
-
+
Trying to keep track of which gems and versions are appropriate for your project can be a nightmare. This is the problem Bundler solves. As explained on [Bundler.io](http://bundler.io/):
-
-> Bundler provides a consistent environment for Ruby projects by tracking and installing the exact gems and versions that are needed.
+
+> Bundler provides a consistent environment for Ruby projects by tracking and installing the exact gems and versions that are needed.
>
> Bundler is an exit from dependency hell, and ensures that the gems you need are present in development, staging, and production. Starting work on a project is as simple as bundle install.
## Gemfiles
Bundler looks in a project's "Gemfile" (no file extension) to see which gems are required by the project. The Gemfile lists the source and then any gems, like this:
-
+
```
source "https://rubygems.org"
@@ -71,7 +72,7 @@ gem 'jekyll'
The source indicates the site where Bundler will retrieve the gems: [https://rubygems.org](https://rubygems.org).
-The gems it retrieves are listed separately on each line.
+The gems it retrieves are listed separately on each line.
Here no versions are specified. Sometimes gemfiles will specify the versions like this:
@@ -86,7 +87,7 @@ To specify a subset of versions, the Gemfile looks like this:
```
gem 'jekyll', '~> 2.3'
```
-The `~>` sign means greater than or equal to the *last digit before the last period in the number*.
+The `~>` sign means greater than or equal to the *last digit before the last period in the number*.
Here it will get any gem equal to 2.3 but less than 3.0.
@@ -249,4 +250,3 @@ BUNDLED WITH
You can always delete the Gemlock file and run Bundle install again to get the latest versions. You can also run `bundle update`, which will ignore the Gemlock file to get the latest versions of each gem.
To learn more about Bundler, see [Bundler's Purpose and Rationale](http://bundler.io/rationale.html).
-
diff --git a/mydoc/mydoc_adding_tooltips.md b/mydoc/mydoc_adding_tooltips.md
index f6149af..05065c6 100644
--- a/mydoc/mydoc_adding_tooltips.md
+++ b/mydoc/mydoc_adding_tooltips.md
@@ -6,14 +6,15 @@ last_updated: March 20, 2016
summary: "You can add tooltips to any word, such as an acronym or specialized term. Tooltips work well for glossary definitions, because you don't have to keep repeating the definition, nor do you assume the reader already knows the word's meaning."
sidebar: mydoc_sidebar
permalink: /mydoc_adding_tooltips/
+folder: mydoc
---
## Creating tooltips
-Because this theme is built on Bootstrap, you can simply use a specific attribute on an element to insert a tooltip.
+Because this theme is built on Bootstrap, you can simply use a specific attribute on an element to insert a tooltip.
Suppose you have a glossary.yml file inside your \_data folder. You could pull in that glossary definition like this:
-{% raw %}
+{% raw %}
```html
Jekyll is my favorite tool for building websites.
```
@@ -21,4 +22,4 @@ Suppose you have a glossary.yml file inside your \_data folder. You could pull i
This renders to the following:
-
Jekyll is my favorite tool for building websites.
\ No newline at end of file
+
Jekyll is my favorite tool for building websites.
diff --git a/mydoc/mydoc_alerts.md b/mydoc/mydoc_alerts.md
index 6896116..c6c33cb 100644
--- a/mydoc/mydoc_alerts.md
+++ b/mydoc/mydoc_alerts.md
@@ -6,10 +6,11 @@ last_updated: March 20, 2016
summary: "You can insert notes, tips, warnings, and important alerts in your content. These notes make use of Bootstrap styling and are available through data references such as site.data.alerts.note."
sidebar: mydoc_sidebar
permalink: /mydoc_alerts/
+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, just reference the appropriate value stored in the alerts.yml file as described in the following sections.
+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
@@ -64,11 +65,11 @@ These alerts leverage includes stored in the \_include folder. The `content` opt
{% raw %}
Note: {{include.content}}{% endraw %}
```
-The content in `content="This is my note."` gets inserted into the `{% raw %}{{include.content}}}{% endraw %}` part of the template. You can follow this same pattern to build additional includes. See this [Jekyll screencast on includes](http://jekyll.tips/jekyll-casts/includes/) for more information.
+The content in `content="This is my note."` gets inserted into the `{% raw %}{{include.content}}}{% endraw %}` part of the template. You can follow this same pattern to build additional includes. See this [Jekyll screencast on includes](http://jekyll.tips/jekyll-casts/includes/) or [this screencast](https://www.youtube.com/watch?v=TJcn_PJ2100) for more information.
## Callouts
-There's another type of callout available called callouts. This format is typically used for longer callout that spans mreo than one or two paragraphs, but really it's just a stylistic preference whether to use an alert or callout.
+There's another type of callout available called callouts. This format is typically used for longer callout that spans more than one or two paragraphs, but really it's just a stylistic preference whether to use an alert or callout.
Here's the syntax for a callout:
@@ -103,7 +104,7 @@ Here's an example of each different type of callout:
{% include callout.html content="This is my **warning** type callout. It has a border on the left whose color you define by passing a type parameter." type="warning" %}
-Now that in contrast to alerts, callouts don't include the alert word (note, tip, warning, or important).
+Now that in contrast to alerts, callouts don't include the alert word (note, tip, warning, or important). You have to manually include it inside `content` if you want it.
To include paragraph breaks, use `
` inside the callout:
@@ -115,6 +116,51 @@ Here's the result:
{% include callout.html content="**Important information**: This is my callout. It has a border on the left whose color you define by passing a type parameter. I typically use this style of callout when I have more information that I want to share, often spanning multiple paragraphs.
Here I am starting a new paragraph, because I have lots of information to share. You may wonder why I'm using line breaks instead of paragraph tags. This is because Kramdown processes the Markdown here as a span rather than a div (for whatever reason). Be grateful that you can be using Markdown at all inside of HTML. That's usually not allowed in Markdown syntax, but it's allowed here." type="primary" %}
+## 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:
+
+```
+{%raw%}{% include note.html content="The {{site.company}} is pleased to announce an upcoming release." %}{%endraw%}
+```
+
+The error will say something like this:
+
+```
+Liquid Exception: Invalid syntax for include tag. File contains invalid characters or sequences: ... Valid syntax: {%raw%}{% include file.ext param='value' param2='value' %}{%endraw%}
+```
+
+To use variables in your include parameters, you must use the "variable parameter" approach. First you use a `capture` tag to capture some content. Then you reference this captured tag in your include. Here's an example.
+
+In my site configuration file (\_congfig.yml), I have a property called `company_name`.
+
+```yaml
+company_name: Your company
+```
+
+I want to use this variable in my note include.
+
+First, before the note I capture the content for my note's include like this:
+
+```liquid
+{%raw%}{% capture company_note %}The {{site.company_name}} company is pleased to announce an upcoming release.{% endcapture %}{%endraw%}
+```
+
+Now reference the `company_note` in your `include` parameter like this:
+
+```
+{%raw%}{% include note.html content=company_note}{%endraw%}
+```
+
+Here's the result:
+
+{% capture company_note %}The {{site.company_name}} is pleased to announce an upcoming release.{% endcapture %}
+{% include note.html content=company_note %}
+
+Note the omission of quotation marks with variable parameters.
+
+Also note that instead of storing the variable in your site's configuration file, you could also put the variable in your page's frontmatter. Then instead of using `{%raw%}{{site.company_name}}{%endraw%}` you would use `{%raw%}{{page.company_name}}{%endraw%}`.
+
## Markdown inside of callouts and alerts
You can use Markdown inside of callouts and alerts, even though this content actually gets inserted inside of HTML in the include. This is one of the advantages of kramdown Markdown. The include template has an attribute of `markdown="span"` that allows for the processor to parse Markdown inside of HTML.
diff --git a/mydoc/mydoc_build_arguments.md b/mydoc/mydoc_build_arguments.md
index fecdac2..67aa1e0 100644
--- a/mydoc/mydoc_build_arguments.md
+++ b/mydoc/mydoc_build_arguments.md
@@ -6,6 +6,7 @@ last_updated: March 20, 2016
summary: "You use various build arguments with your Jekyll project. You can also create shell scripts to act as shortcuts for long build commands. You can store the commands in iTerm as profiles as well."
sidebar: mydoc_sidebar
permalink: /mydoc_build_arguments/
+folder: mydoc
---
## How to build Jekyll sites
@@ -63,7 +64,3 @@ kill -9 $(ps aux | grep '[j]ekyll' | awk '{print $2}')
I recommend creating a profile in iTerm that stores this command. Here's what the iTerm settings look like:

-
-
-
-
diff --git a/mydoc/mydoc_build_scripts.md b/mydoc/mydoc_build_scripts.md
index b70f19d..3444cc9 100644
--- a/mydoc/mydoc_build_scripts.md
+++ b/mydoc/mydoc_build_scripts.md
@@ -1,6 +1,6 @@
---
title: 10. Configure the build scripts
-tags:
+tags:
- publishing
keywords: "build scripts, generating outputs, building, publishing"
last_updated: "November 30, 2016"
@@ -9,11 +9,12 @@ series: "Getting Started"
weight: 10
sidebar: mydoc_sidebar
permalink: /mydoc_build_scripts/
+folder: mydoc
---
{% include custom/getting_started_series.html %}
-## About the build scripts
+## About the build scripts
The mydoc project has 5 build scripts and a script that runs them all. These scripts will require a bit of detail to configure. Every team member who is publishing on the project should set up their folder structure in the way described here.
@@ -21,19 +22,19 @@ The mydoc project has 5 build scripts and a script that runs them all. These scr
Your command-line terminal opens up to your user name (for example, `Users/tjohnson`). I like to put all of my projects from repositories into a subfolder under my username called "projects." This makes it easy to get to the projects from the command line. You can vary from the project organization I describe here, but following the pattern I outline will make configuration easier.
-To set up your projects:
+To set up your projects:
1. Set up your Jekyll theme in a folder called "docs." All of the source files for every project the team is working on should live in this directory. Most likely you already either downloaded or cloned the jekyll-documentation-theme. Just rename the folder to "docs" and move it into the projects folder as shown here.
2. In the same root directory where the docs folder is, create another directory parallel to docs called doc_outputs.
-
+
Thus, your folder structure should be something like this:
-
+
```
projects
- docs
- doc_outputs
```
-
+
The docs folder contains the source of all your files, while the doc_outputs contains the site outputs.
## Configure the Build Scripts
@@ -64,7 +65,7 @@ echo "All done serving up the PDF-friendly sites. Now let's generate the PDF fil
echo "Now run . mydoc_2_multibuild_pdf.sh"
```
-After killing all existing Jekyll instances that may be running, this script serves up a PDF friendly version of the docs (in HTML format) at the destination specified in the configuration file.
+After killing all existing Jekyll instances that may be running, this script serves up a PDF friendly version of the docs (in HTML format) at the destination specified in the configuration file.
Each of your configuration files needs to have a destination like this: `../doc_outputs/mydoc/adtruth-java`. That is, the project should build in the doc_outputs folder, in a subfolder that matches the project name.
@@ -95,7 +96,7 @@ This script builds the PDF output using the Prince command. The script reads the
The Prince build command takes an input parameter (`--input-list=`) that lists where all the pages are (prince-file-list.txt), and then combines all the pages into a PDF, including cross-references and other details. The Prince build command also specifies the output folder (`-o`).
-The prince-file-list.txt file (which simply contains a list of URLs to HTML pages) is generated by iterating through the table of contents (mydoc_sidebar.yml) and creating a list of URLs. You can open up prince-file-list.txt in the doc output to ensure that it has a list of absolute URLs (not relative) in order for Prince to build the PDF.
+The prince-file-list.txt file (which simply contains a list of URLs to HTML pages) is generated by iterating through the table of contents (mydoc_sidebar.yml) and creating a list of URLs. You can open up prince-file-list.txt in the doc output to ensure that it has a list of absolute URLs (not relative) in order for Prince to build the PDF.
This is one way the configuration file for the PDF-friendly output differs from the HTML output. (If the PDF isn't building, it's because the prince-file-list.txt in the output is empty or it contains relative URLs.)
@@ -142,11 +143,11 @@ echo "All done pushing doc outputs to the server"
```
-This script assumes you're publishing content onto a Linux server.
+This script assumes you're publishing content onto a Linux server.
Change `yourusername` to your own user name.
-This script first removes the project folder on /var/www/html/yourpublishingdirectory site and then transfers the content from doc_outputs over to the appropriate folder in /var/www/html/yourpublishingdirectory.
+This script first removes the project folder on /var/www/html/yourpublishingdirectory site and then transfers the content from doc_outputs over to the appropriate folder in /var/www/html/yourpublishingdirectory.
Note that the delete part of the script (`rm -rf`) works really well. It annihilates a folder in a heartbeat and doesn't give you any warning prompts, so make sure you have it set up correctly.
@@ -189,5 +190,5 @@ After you've configured all the scripts, you can run them all by running `. mydo
## Test out the scripts
-After setting up and customizing the build scripts, run a few tests to make sure everything is generating correctly. Getting this part right is somewhat difficult and may likely require you to tinker around with the scripts a while before it works flawlessly.
-{% include custom/getting_started_series_next.html %}
\ No newline at end of file
+After setting up and customizing the build scripts, run a few tests to make sure everything is generating correctly. Getting this part right is somewhat difficult and may likely require you to tinker around with the scripts a while before it works flawlessly.
+{% include custom/getting_started_series_next.html %}
diff --git a/mydoc/mydoc_collections.md b/mydoc/mydoc_collections.md
index 27eb323..d0ca46c 100644
--- a/mydoc/mydoc_collections.md
+++ b/mydoc/mydoc_collections.md
@@ -6,6 +6,7 @@ last_updated: March 20, 2016
summary: "Collections are useful if you want to loop through a special folder of pages that you make available in a content API. You could also use collections if you have a set of articles that you want to treat differently from the other content, with a different layout or format."
sidebar: mydoc_sidebar
permalink: /mydoc_collections/
+folder: mydoc
---
## What are collections
@@ -34,4 +35,4 @@ I haven't found a huge use for collections in normal documentation. However, I d
## Video tutorial on collections
-See this [video tutorial on Jekyll.tips](http://jekyll.tips/jekyll-casts/introduction-to-collections/) for more details on collections.
\ No newline at end of file
+See this [video tutorial on Jekyll.tips](http://jekyll.tips/jekyll-casts/introduction-to-collections/) for more details on collections.
diff --git a/mydoc/mydoc_commenting_on_files.md b/mydoc/mydoc_commenting_on_files.md
index f4454d7..4746a75 100644
--- a/mydoc/mydoc_commenting_on_files.md
+++ b/mydoc/mydoc_commenting_on_files.md
@@ -1,17 +1,18 @@
---
title: Commenting on files
-tags:
+tags:
- navigation
keywords: "annotations, comments, feedback"
last_updated: "November 30, 2016"
summary: "You can add a button to your pages that allows people to add comments."
sidebar: mydoc_sidebar
permalink: /mydoc_commenting_on_files/
+folder: mydoc
---
## About the review process
-If you're using the doc as code approach, you might also consider using the same techniques for reviewing the doc as people use in reviewing code. This approach will involve using Github to edit the files.
+If you're using the doc as code approach, you might also consider using the same techniques for reviewing the doc as people use in reviewing code. This approach will involve using Github to edit the files.
There's an Edit me button on each page on this theme. This button allows collaborators to edit the content on Github.
@@ -23,10 +24,7 @@ Here's the code for that button on the page.html layout:
{% if site.github_editme_path %}
-
Edit me
- {% endif %}
-
- {% endunless %}
+
Edit me
```
{% endraw %}
@@ -49,7 +47,7 @@ If you want people to collaborate on your project so that their edits get commit
If you don't want to allow anyone to commit to your Github branch, don't add the reviewers as collaborators. When someone makes an edit, Github will fork the theme. The person's edit then will appear as a pull request to your repo. You can then choose to merge the change indicated in the pull or not.
-{{site.data.alerts.note}} When you process pull requests, you have to accept everything or nothing. You can't pick and choose which changes you'll merge. Therefore you'll probably want to edit the branch you're planning to merge or ask the contributor to make some changes to the fork before processing the pull request.{{site.data.alerts.end}}
+{{site.data.alerts.note}} When you process pull requests, you have to accept everything or nothing. You can't pick and choose which changes you'll merge. Therefore you'll probably want to edit the branch you're planning to merge or ask the contributor to make some changes to the fork before processing the pull request.{{site.data.alerts.end}}
## Workflow
@@ -58,10 +56,10 @@ Users will make edits in your "reviews" branch (or whatever you want to call it)
When you're finished making all updates in the branch, you can merge the branch into the master.
-Note that if you're making updates online, those updates will be out of sync with any local edits.
+Note that if you're making updates online, those updates will be out of sync with any local edits.
{{site.data.alerts.warning}} Don't make edits both online using Github's browser-based interface AND offline on your local machine using your local tools. When you try to push from your local, you'll likely get a merge conflict error. Instead, make sure you do a pull and update on your local after making any edits online.{{site.data.alerts.end}}
## Prose.io
- Prose.io is an overlay on Github that would allow people to make comments in an easier interface. If you simply go to [prose.io](http://prose.io), it asks to authorize your Github account, and so it will read files directly from Github but in the Prose.io interface.
\ No newline at end of file
+ Prose.io is an overlay on Github that would allow people to make comments in an easier interface. If you simply go to [prose.io](http://prose.io), it asks to authorize your Github account, and so it will read files directly from Github but in the Prose.io interface.
diff --git a/mydoc/mydoc_conditional_logic.md b/mydoc/mydoc_conditional_logic.md
index 9915594..6855517 100644
--- a/mydoc/mydoc_conditional_logic.md
+++ b/mydoc/mydoc_conditional_logic.md
@@ -6,22 +6,23 @@ last_updated: March 20, 2016
summary: "You can implement advanced conditional logic that includes if statements, or statements, unless, and more. This conditional logic facilitates single sourcing scenarios in which you're outputting the same content for different audiences."
sidebar: mydoc_sidebar
permalink: /mydoc_conditional_logic/
+folder: mydoc
---
## About Liquid and conditional statements
If you want to create different outputs for different audiences, you can do all of this using a combination of Jekyll's Liquid markup and values in your configuration file. This is how I previously configured the theme. I had different configuration files for each output. Each configuration file specified different values for product, audience, version, and so on. Then I had different build processes that would leverage the different configuration files. It seemed like a perfect implementation of DITA-like techniques with Jekyll.
-But I soon found that having lots of separate outputs for a project was undesirable. If you have 10 different outputs that have different nuances for different audiences, it's hard to manage and maintain. In this latest version of the theme, I consolidated all information into the same output to explicitly do away with the multi-output approach.
+But I soon found that having lots of separate outputs for a project was undesirable. If you have 10 different outputs that have different nuances for different audiences, it's hard to manage and maintain. In this latest version of the theme, I consolidated all information into the same output to explicitly do away with the multi-output approach.
As such, the conditional logic won't have as much play as it previously did. Instead of conditions, you'll probably want to incorporate [navtabs](mydoc_navtabs) to split up the information.
-However, you can still of course use conditional logic as needed.
+However, you can still of course use conditional logic as needed.
{{site.data.alerts.tip}} Definitely check out
Liquid's documentation for more details about how to use operators and other liquid markup. The notes here are a small, somewhat superficial sample from the site.{{site.data.alerts.end}}
## Where to store filtering values
-You can filter content based on values that you have set either in your page's frontmatter, a config file, or in a file in your \_data folder. If you set the attribute in your config file, you need to restart the Jekyll server to see the changes. If you set the value in a file in your \_data folder or page frontmatter, you don't need to restart the server when you make changes.
+You can filter content based on values that you have set either in your page's frontmatter, a config file, or in a file in your \_data folder. If you set the attribute in your config file, you need to restart the Jekyll server to see the changes. If you set the value in a file in your \_data folder or page frontmatter, you don't need to restart the server when you make changes.
## Conditional logic based on config file value
@@ -43,7 +44,7 @@ Here's some info about Windows ...
```
{% endraw %}
-This uses simple `if-elsif` logic to determine what is shown (note the spelling of `elsif`). The `else` statement handles all other conditions not handled by the `if` statements.
+This uses simple `if-elsif` logic to determine what is shown (note the spelling of `elsif`). The `else` statement handles all other conditions not handled by the `if` statements.
Here's an example of `if-else` logic inside a list:
@@ -65,7 +66,7 @@ You don't need the `elsif` or `else`. You could just use an `if` (but be sure to
## Or operator
-You can use more advanced Liquid markup for conditional logic, such as an `or` command. See [Shopify's Liquid documentation](http://docs.shopify.com/themes/liquid-documentation/basics/operators) for more details.
+You can use more advanced Liquid markup for conditional logic, such as an `or` command. See [Shopify's Liquid documentation](http://docs.shopify.com/themes/liquid-documentation/basics/operators) for more details.
For example, here's an example using `or`:
@@ -148,7 +149,6 @@ Then create a folder called \_data_beta.
## Conditions versus includes
-If you have a lot of conditions in your text, it can get confusing. As a best practice, whenever you insert an `if` condition, add the `endif` at the same time. This will reduce the chances of forgetting to close the if statement. Jekyll won't build if there are problems with the liquid logic.
+If you have a lot of conditions in your text, it can get confusing. As a best practice, whenever you insert an `if` condition, add the `endif` at the same time. This will reduce the chances of forgetting to close the if statement. Jekyll won't build if there are problems with the liquid logic.
If your text is getting busy with a lot of conditional statements, consider putting a lot of content into includes so that you can more easily see where the conditions begin and end.
-
diff --git a/mydoc/mydoc_content_reuse.md b/mydoc/mydoc_content_reuse.md
index 2d635fe..f80a5c0 100644
--- a/mydoc/mydoc_content_reuse.md
+++ b/mydoc/mydoc_content_reuse.md
@@ -6,6 +6,7 @@ last_updated: March 20, 2016
summary: "You can reuse chunks of content by storing these files in the includes folder. You then choose to include the file where you need it. This works similar to conref in DITA, except that you can include the file in any content type."
sidebar: mydoc_sidebar
permalink: /mydoc_content_reuse/
+folder: mydoc
---
## About content reuse
diff --git a/mydoc/mydoc_excluding_files.md b/mydoc/mydoc_excluding_files.md
index 68226bf..53fb576 100644
--- a/mydoc/mydoc_excluding_files.md
+++ b/mydoc/mydoc_excluding_files.md
@@ -6,6 +6,7 @@ keywords: exclusion, separating outputs, removing files from outputs
summary: "By default, all the files in your Jekyll project are included in the output (this differs from DITA projects, which don't include files unless noted on the map). If you're single sourcing, you'll need to exclude the files that shouldn't be included in the output. The sidebar doesn't control inclusion or exclusion."
sidebar: mydoc_sidebar
permalink: /mydoc_exluding_files/
+folder: mydoc
---
@@ -14,7 +15,7 @@ By default, all files in your project are included in your output (regardless of
```
-exclude:
+exclude:
- mydoc_writers_*
- bower_components
- Gemfile
@@ -31,7 +32,7 @@ Here's the process I recommend. Put all files in the root directory of your proj
In your exclude list for your beta project, specify it as follows:
```
-exclude:
+exclude:
- alpha_*
```
@@ -50,7 +51,7 @@ If you have more sophisticated exclusion, add another level to your file names.
Then you exclude files for your Alpha C++ project as follows:
```
-exclude:
+exclude:
- alpha_java_*
- beta_*
@@ -76,8 +77,8 @@ There isn't a way to automatically exclude anything. By default, everything is i
## Excluding draft content
-If you're working on a draft, put it inside the \_drafts folder or add `published: false` in the frontmatter. The \_drafts folder is excluded by default, so you don't have to specify it in your exclude list.
+If you're working on a draft, put it inside the \_drafts folder or add `published: false` in the frontmatter. The \_drafts folder is excluded by default, so you don't have to specify it in your exclude list.
## Limitations
-What if a file should appear in two projects but not the third? This can get tricky. For some files, rather than using a wildcard, you may need to manually specify the entire filename that you're excluding instead of excluding it by way of a wildcard pattern.
\ No newline at end of file
+What if a file should appear in two projects but not the third? This can get tricky. For some files, rather than using a wildcard, you may need to manually specify the entire filename that you're excluding instead of excluding it by way of a wildcard pattern.
diff --git a/mydoc/mydoc_faq.html b/mydoc/mydoc_faq.html
index 367492f..1bde9d6 100644
--- a/mydoc/mydoc_faq.html
+++ b/mydoc/mydoc_faq.html
@@ -7,6 +7,7 @@ keywords: frequently asked questions, FAQ, question and answer, collapsible sect
last_updated: November 30, 2015
summary: "You can use an accordion-layout that takes advantage of Bootstrap styling. This is useful for an FAQ page."
toc: false
+folder: mydoc
---
If you want to use an FAQ format, use the syntax shown on the faq.html page. Rather than including code samples here (which are bulky with a lot of nested div
tags), just look at the source in the mydoc_faq.html theme file.
@@ -131,4 +132,3 @@ toc: false
-
\ No newline at end of file
diff --git a/mydoc/mydoc_generating_pdfs.md b/mydoc/mydoc_generating_pdfs.md
index 0c494b2..98c0a62 100644
--- a/mydoc/mydoc_generating_pdfs.md
+++ b/mydoc/mydoc_generating_pdfs.md
@@ -6,6 +6,7 @@ keywords: PDF, prince, prince XML, ant, xsl fo
last_updated: March 20, 2016
summary: "You can generate a PDF from your Jekyll project. You do this by creating a web version of your project that is printer friendly. You then use utility called Prince to iterate through the pages and create a PDF from them. It works quite well and gives you complete control to customize the PDF output through CSS, including page directives and dynamic tags from Prince."
sidebar: mydoc_sidebar
+folder: mydoc
---
diff --git a/mydoc/mydoc_git_collaboration.md b/mydoc/mydoc_git_collaboration.md
index 48334ed..5b42aa4 100644
--- a/mydoc/mydoc_git_collaboration.md
+++ b/mydoc/mydoc_git_collaboration.md
@@ -6,6 +6,7 @@ keywords: git, github, collaboration, interaction, file sharing, push
published: false
sidebar: mydoc_sidebar
permalink: /mydoc_git_collaboration/
+folder: mydoc
---
@@ -25,7 +26,7 @@ hg diff
hg revert
hg remove
hg update
-You have seen that it is possible to switch revision using hg update.
+You have seen that it is possible to switch revision using hg update.
clone
commit
@@ -39,7 +40,7 @@ $ hg annotate [FILE] or $ hg blame [FILE]
To search for a pattern in version controlled files, use hg grep; it will search this pattern in every version of the file and it will print the first one in which it appears, such as hg annotate. For example:
$ hg grep new apache2.conf
-You can also print the content of a file at a given revision even without changing the current working directory using hg cat -r REVISION.
+You can also print the content of a file at a given revision even without changing the current working directory using hg cat -r REVISION.
Whenever changes have been committed but not yet pushed, the outgoing command lists all the changesets that are present in the current repository but not yet found in the destination (the ones that are candidates to be pushed), whereas the incoming command shows you the changesets that are found in the source repository but have not been pulled yet. So here, if you use the outgoing command, you will see
@@ -64,7 +65,7 @@ hg fetch. This extension acts as a combination of hg pull -u, hg merge and hg co
-i like
+i like
hg fetch does a pull and update at the same time
you're prompted about any conflicts
@@ -82,7 +83,7 @@ hg diff
hg revert
hg remove
hg update
-You have seen that it is possible to switch revision using hg update.
+You have seen that it is possible to switch revision using hg update.
clone
addremove, which allows you to automatically add all new files and remove (from version control) files that have been deleted.
log
@@ -97,7 +98,7 @@ $ hg annotate [FILE] or $ hg blame [FILE]
To search for a pattern in version controlled files, use hg grep; it will search this pattern in every version of the file and it will print the first one in which it appears, such as hg annotate. For example:
$ hg grep new apache2.conf
-You can also print the content of a file at a given revision even without changing the current working directory using hg cat -r REVISION.
+You can also print the content of a file at a given revision even without changing the current working directory using hg cat -r REVISION.
Whenever changes have been committed but not yet pushed, the outgoing command lists all the changesets that are present in the current repository but not yet found in the destination (the ones that are candidates to be pushed), whereas the incoming command shows you the changesets that are found in the source repository but have not been pulled yet. So here, if you use the outgoing command, you will see
@@ -117,7 +118,7 @@ Bookmarks are tags that move forward automatically to subsequent changes, leavin
The default branch name in Mercurial is “default”.
-The slowest, safest way to create a branch with Mercurial is to make a new clone of the repository. this is really fascinating -- a clone is merely a branch.
+The slowest, safest way to create a branch with Mercurial is to make a new clone of the repository. this is really fascinating -- a clone is merely a branch.
Discarding a branch you don’t want any more is very easy with cloned branches. It’s as simple as rm -rf test-project-feature-branch. There’s no need to mess around with editing repository history, you just delete the damn thing.
@@ -150,7 +151,7 @@ This is a good tutorial: https://www.digitalocean.com/community/tutorials/how-to
git lg
git checkout master
-git merge search | git merge --no-ff search
+git merge search | git merge --no-ff search
the latter (--no-ff) keeps the additional information that these commits were made on a branch.
then type a commit message (:wq)
@@ -159,7 +160,7 @@ git branch -d search
git add . (works same as add --all)
git commit am "my commit message" (this performs both adding and commit message at same time)
-with merge conflicts:
+with merge conflicts:
git status (shows you all the files that can't be added due to merge conflicts)
fix the conflicts
@@ -179,4 +180,3 @@ From the interface, you can also create a pull request to merge all of the chang
| see what has changed since last commit | `git diff` |
| commit changes | `git commit` |
| | |
-
diff --git a/mydoc/mydoc_glossary.md b/mydoc/mydoc_glossary.md
index 02168ee..9461374 100644
--- a/mydoc/mydoc_glossary.md
+++ b/mydoc/mydoc_glossary.md
@@ -7,10 +7,11 @@ summary: "Your glossary page can take advantage of definitions stored in a data
sidebar: mydoc_sidebar
permalink: /mydoc_glossary/
toc: false
+folder: mydoc
---
-You can create a glossary for your content. First create your glossary items in a data file such as glossary.yml.
+You can create a glossary for your content. First create your glossary items in a data file such as glossary.yml.
Then create a page and use definition list formatting, like this:
@@ -38,7 +39,7 @@ Then create a page and use definition list formatting, like this:
```
-Here's what that looks like:
+Here's what that looks like: