├── .gitignore ├── CHANGELOG.md ├── LICENSE.html ├── MarkdownTools.sublime-project ├── README.md ├── docs-support ├── .gitignore ├── config.rb ├── css │ ├── ie.css │ ├── print.css │ └── screen.css ├── js │ └── highlight.pack.js ├── make-docs.cmd ├── make-docs.sh ├── sass │ ├── ie.scss │ ├── modules │ │ ├── _all.scss │ │ └── _globalvars.scss │ ├── partials │ │ ├── _base.scss │ │ ├── _layout.scss │ │ ├── _reset.scss │ │ └── _typography.scss │ ├── print.scss │ └── screen.scss ├── styles │ ├── arta.css │ ├── ascetic.css │ ├── atelier-dune.dark.css │ ├── atelier-dune.light.css │ ├── atelier-forest.dark.css │ ├── atelier-forest.light.css │ ├── atelier-heath.dark.css │ ├── atelier-heath.light.css │ ├── atelier-lakeside.dark.css │ ├── atelier-lakeside.light.css │ ├── atelier-seaside.dark.css │ ├── atelier-seaside.light.css │ ├── brown_paper.css │ ├── brown_papersq.png │ ├── dark.css │ ├── default.css │ ├── docco.css │ ├── far.css │ ├── foundation.css │ ├── github.css │ ├── googlecode.css │ ├── idea.css │ ├── ir_black.css │ ├── magula.css │ ├── mono-blue.css │ ├── monokai.css │ ├── monokai_sublime.css │ ├── obsidian.css │ ├── paraiso.dark.css │ ├── paraiso.light.css │ ├── pojoaque.css │ ├── pojoaque.jpg │ ├── railscasts.css │ ├── rainbow.css │ ├── school_book.css │ ├── school_book.png │ ├── solarized_dark.css │ ├── solarized_light.css │ ├── sunburst.css │ ├── tomorrow-night-blue.css │ ├── tomorrow-night-bright.css │ ├── tomorrow-night-eighties.css │ ├── tomorrow-night.css │ ├── tomorrow.css │ ├── vs.css │ ├── xcode.css │ └── zenburn.css ├── tools-osx.mmd └── tools-windows.mmd └── docs ├── .gitignore ├── devguide.mmd ├── git-procedures.mmd ├── make-docs.cmd ├── make-docs.sh ├── specifications.mmd └── venv.mmd /.gitignore: -------------------------------------------------------------------------------- 1 | # Apple detrius 2 | # 3 | .DS_Store 4 | 5 | # Python extras 6 | # 7 | venv 8 | venv3* 9 | venv2* 10 | __py_cache__ 11 | node_modules 12 | site 13 | *.pyc 14 | CHANGELOG.html 15 | 16 | # Website generation 17 | # 18 | .sass-cache 19 | docs/specifications.html 20 | 21 | # Sublime Text 3 22 | # 23 | *.sublime-workspace 24 | 25 | # Source code and tests 26 | # 27 | src/ 28 | tests/ 29 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | ## 1.0.1 4 | 5 | * 3 May 2015 6 | * Recognized "{{TOC}}" and do not treat as a file transclusion. MultiMarkdown 4.7.1 added the ability to generate a Table of Contents, triggered by the special string "{{TOC}}". 7 | * Changed implementation to conform to PEP-8 and PEP-257. 8 | 9 | ## 1.0 10 | 11 | * 30 March 2014 12 | * First stable release 13 | * Added developer docs. (To build them you'll need some tools, see `docs-support` and `docs` folders in the `master` branch.) If you want to contribute, I recommend building and reading through the docs. 14 | 15 | ## 1.0rc5 16 | 17 | * 30 March 2014 18 | * Now will pickup include spec found on last line of file. (issue #2) 19 | * Now strips out MultiMarkdown metadata from all but first input or included file. (issue #3) 20 | 21 | ## 1.0rc4 22 | 23 | * 24 March 2014 24 | * Fixed further bug with unicode text handling in some locales. (issue #1) 25 | * Fixed bug processing consecutive includes with no intervening text. (issue #2) 26 | 27 | ## 1.0rc3 28 | 29 | * 23 March 2014 30 | * Handle code fence specified with backticks (`` ` ``) or tildes (`~`) 31 | 32 | ## 1.0rc2 33 | 34 | * 19 March 2014 35 | * Add support for postprocessing raw includes (<<{filepath}); option `--just-raw` 36 | * Add option to suppress processing MultiMarkdown file transclusions; option `--ignore-transclusions` 37 | * Added the CHANGELOG.md file 38 | * fixed bug with unicode text handling in the Python 2 implementation (MarkdownTools2) 39 | 40 | ## 1.0rc1 41 | 42 | * 15 March 2014 43 | * Initial release 44 | 45 | -------------------------------------------------------------------------------- /LICENSE.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Mozilla Public License, version 2.0 7 | 10 | 11 | 12 | 13 | 14 | 15 | 75 | 76 | 77 |

Mozilla Public License
Version 2.0

78 |

1. Definitions

79 |
80 |
1.1. “Contributor”
81 |

means each individual or legal entity that creates, contributes to the creation of, or owns Covered Software.

82 |
83 |
1.2. “Contributor Version”
84 |

means the combination of the Contributions of others (if any) used by a Contributor and that particular Contributor’s Contribution.

85 |
86 |
1.3. “Contribution”
87 |

means Covered Software of a particular Contributor.

88 |
89 |
1.4. “Covered Software”
90 |

means Source Code Form to which the initial Contributor has attached the notice in Exhibit A, the Executable Form of such Source Code Form, and Modifications of such Source Code Form, in each case including portions thereof.

91 |
92 |
1.5. “Incompatible With Secondary Licenses”
93 |

means

94 |
    95 |
  1. that the initial Contributor has attached the notice described in Exhibit B to the Covered Software; or

  2. 96 |
  3. that the Covered Software was made available under the terms of version 1.1 or earlier of the License, but not also under the terms of a Secondary License.

  4. 97 |
98 |
99 |
1.6. “Executable Form”
100 |

means any form of the work other than Source Code Form.

101 |
102 |
1.7. “Larger Work”
103 |

means a work that combines Covered Software with other material, in a separate file or files, that is not Covered Software.

104 |
105 |
1.8. “License”
106 |

means this document.

107 |
108 |
1.9. “Licensable”
109 |

means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently, any and all of the rights conveyed by this License.

110 |
111 |
1.10. “Modifications”
112 |

means any of the following:

113 |
    114 |
  1. any file in Source Code Form that results from an addition to, deletion from, or modification of the contents of Covered Software; or

  2. 115 |
  3. any new file in Source Code Form that contains any Covered Software.

  4. 116 |
117 |
118 |
1.11. “Patent Claims” of a Contributor
119 |

means any patent claim(s), including without limitation, method, process, and apparatus claims, in any patent Licensable by such Contributor that would be infringed, but for the grant of the License, by the making, using, selling, offering for sale, having made, import, or transfer of either its Contributions or its Contributor Version.

120 |
121 |
1.12. “Secondary License”
122 |

means either the GNU General Public License, Version 2.0, the GNU Lesser General Public License, Version 2.1, the GNU Affero General Public License, Version 3.0, or any later versions of those licenses.

123 |
124 |
1.13. “Source Code Form”
125 |

means the form of the work preferred for making modifications.

126 |
127 |
1.14. “You” (or “Your”)
128 |

means an individual or a legal entity exercising rights under this License. For legal entities, “You” includes any entity that controls, is controlled by, or is under common control with You. For purposes of this definition, “control” means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity.

129 |
130 |
131 |

2. License Grants and Conditions

132 |

2.1. Grants

133 |

Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license:

134 |
    135 |
  1. under intellectual property rights (other than patent or trademark) Licensable by such Contributor to use, reproduce, make available, modify, display, perform, distribute, and otherwise exploit its Contributions, either on an unmodified basis, with Modifications, or as part of a Larger Work; and

  2. 136 |
  3. under Patent Claims of such Contributor to make, use, sell, offer for sale, have made, import, and otherwise transfer either its Contributions or its Contributor Version.

  4. 137 |
138 |

2.2. Effective Date

139 |

The licenses granted in Section 2.1 with respect to any Contribution become effective for each Contribution on the date the Contributor first distributes such Contribution.

140 |

2.3. Limitations on Grant Scope

141 |

The licenses granted in this Section 2 are the only rights granted under this License. No additional rights or licenses will be implied from the distribution or licensing of Covered Software under this License. Notwithstanding Section 2.1(b) above, no patent license is granted by a Contributor:

142 |
    143 |
  1. for any code that a Contributor has removed from Covered Software; or

  2. 144 |
  3. for infringements caused by: (i) Your and any other third party’s modifications of Covered Software, or (ii) the combination of its Contributions with other software (except as part of its Contributor Version); or

  4. 145 |
  5. under Patent Claims infringed by Covered Software in the absence of its Contributions.

  6. 146 |
147 |

This License does not grant any rights in the trademarks, service marks, or logos of any Contributor (except as may be necessary to comply with the notice requirements in Section 3.4).

148 |

2.4. Subsequent Licenses

149 |

No Contributor makes additional grants as a result of Your choice to distribute the Covered Software under a subsequent version of this License (see Section 10.2) or under the terms of a Secondary License (if permitted under the terms of Section 3.3).

150 |

2.5. Representation

151 |

Each Contributor represents that the Contributor believes its Contributions are its original creation(s) or it has sufficient rights to grant the rights to its Contributions conveyed by this License.

152 |

2.6. Fair Use

153 |

This License is not intended to limit any rights You have under applicable copyright doctrines of fair use, fair dealing, or other equivalents.

154 |

2.7. Conditions

155 |

Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in Section 2.1.

156 |

3. Responsibilities

157 |

3.1. Distribution of Source Form

158 |

All distribution of Covered Software in Source Code Form, including any Modifications that You create or to which You contribute, must be under the terms of this License. You must inform recipients that the Source Code Form of the Covered Software is governed by the terms of this License, and how they can obtain a copy of this License. You may not attempt to alter or restrict the recipients’ rights in the Source Code Form.

159 |

3.2. Distribution of Executable Form

160 |

If You distribute Covered Software in Executable Form then:

161 |
    162 |
  1. such Covered Software must also be made available in Source Code Form, as described in Section 3.1, and You must inform recipients of the Executable Form how they can obtain a copy of such Source Code Form by reasonable means in a timely manner, at a charge no more than the cost of distribution to the recipient; and

  2. 163 |
  3. You may distribute such Executable Form under the terms of this License, or sublicense it under different terms, provided that the license for the Executable Form does not attempt to limit or alter the recipients’ rights in the Source Code Form under this License.

  4. 164 |
165 |

3.3. Distribution of a Larger Work

166 |

You may create and distribute a Larger Work under terms of Your choice, provided that You also comply with the requirements of this License for the Covered Software. If the Larger Work is a combination of Covered Software with a work governed by one or more Secondary Licenses, and the Covered Software is not Incompatible With Secondary Licenses, this License permits You to additionally distribute such Covered Software under the terms of such Secondary License(s), so that the recipient of the Larger Work may, at their option, further distribute the Covered Software under the terms of either this License or such Secondary License(s).

167 |

3.4. Notices

168 |

You may not remove or alter the substance of any license notices (including copyright notices, patent notices, disclaimers of warranty, or limitations of liability) contained within the Source Code Form of the Covered Software, except that You may alter any license notices to the extent required to remedy known factual inaccuracies.

169 |

3.5. Application of Additional Terms

170 |

You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Software. However, You may do so only on Your own behalf, and not on behalf of any Contributor. You must make it absolutely clear that any such warranty, support, indemnity, or liability obligation is offered by You alone, and You hereby agree to indemnify every Contributor for any liability incurred by such Contributor as a result of warranty, support, indemnity or liability terms You offer. You may include additional disclaimers of warranty and limitations of liability specific to any jurisdiction.

171 |

4. Inability to Comply Due to Statute or Regulation

172 |

If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Software due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be placed in a text file included with all distributions of the Covered Software under this License. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it.

173 |

5. Termination

174 |

5.1. The rights granted under this License will terminate automatically if You fail to comply with any of its terms. However, if You become compliant, then the rights granted under this License from a particular Contributor are reinstated (a) provisionally, unless and until such Contributor explicitly and finally terminates Your grants, and (b) on an ongoing basis, if such Contributor fails to notify You of the non-compliance by some reasonable means prior to 60 days after You have come back into compliance. Moreover, Your grants from a particular Contributor are reinstated on an ongoing basis if such Contributor notifies You of the non-compliance by some reasonable means, this is the first time You have received notice of non-compliance with this License from such Contributor, and You become compliant prior to 30 days after Your receipt of the notice.

175 |

5.2. If You initiate litigation against any entity by asserting a patent infringement claim (excluding declaratory judgment actions, counter-claims, and cross-claims) alleging that a Contributor Version directly or indirectly infringes any patent, then the rights granted to You by any and all Contributors for the Covered Software under Section 2.1 of this License shall terminate.

176 |

5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or Your distributors under this License prior to termination shall survive termination.

177 |

6. Disclaimer of Warranty

178 |

Covered Software is provided under this License on an “as is” basis, without warranty of any kind, either expressed, implied, or statutory, including, without limitation, warranties that the Covered Software is free of defects, merchantable, fit for a particular purpose or non-infringing. The entire risk as to the quality and performance of the Covered Software is with You. Should any Covered Software prove defective in any respect, You (not any Contributor) assume the cost of any necessary servicing, repair, or correction. This disclaimer of warranty constitutes an essential part of this License. No use of any Covered Software is authorized under this License except under this disclaimer.

179 |

7. Limitation of Liability

180 |

Under no circumstances and under no legal theory, whether tort (including negligence), contract, or otherwise, shall any Contributor, or anyone who distributes Covered Software as permitted above, be liable to You for any direct, indirect, special, incidental, or consequential damages of any character including, without limitation, damages for lost profits, loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses, even if such party shall have been informed of the possibility of such damages. This limitation of liability shall not apply to liability for death or personal injury resulting from such party’s negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to You.

181 |

8. Litigation

182 |

Any litigation relating to this License may be brought only in the courts of a jurisdiction where the defendant maintains its principal place of business and such litigation shall be governed by laws of that jurisdiction, without reference to its conflict-of-law provisions. Nothing in this Section shall prevent a party’s ability to bring cross-claims or counter-claims.

183 |

9. Miscellaneous

184 |

This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not be used to construe this License against a Contributor.

185 |

10. Versions of the License

186 |

10.1. New Versions

187 |

Mozilla Foundation is the license steward. Except as provided in Section 10.3, no one other than the license steward has the right to modify or publish new versions of this License. Each version will be given a distinguishing version number.

188 |

10.2. Effect of New Versions

189 |

You may distribute the Covered Software under the terms of the version of the License under which You originally received the Covered Software, or under the terms of any subsequent version published by the license steward.

190 |

10.3. Modified Versions

191 |

If you create software not governed by this License, and you want to create a new license for such software, you may create and use a modified version of this License if you rename the license and remove any references to the name of the license steward (except to note that such modified license differs from this License).

192 |

10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses

193 |

If You choose to distribute Source Code Form that is Incompatible With Secondary Licenses under the terms of this version of the License, the notice described in Exhibit B of this License must be attached.

194 |

Exhibit A - Source Code Form License Notice

195 |
196 |

This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.

197 |
198 |

If it is not possible or desirable to put the notice in a particular file, then You may include the notice in a location (such as a LICENSE file in a relevant directory) where a recipient would be likely to look for such a notice.

199 |

You may add additional accurate notices of copyright ownership.

200 |

Exhibit B - “Incompatible With Secondary Licenses” Notice

201 |
202 |

This Source Code Form is “Incompatible With Secondary Licenses”, as defined by the Mozilla Public License, v. 2.0.

203 |
204 | 205 | 206 | -------------------------------------------------------------------------------- /MarkdownTools.sublime-project: -------------------------------------------------------------------------------- 1 | { 2 | "folders": 3 | [ 4 | { 5 | "name": "MarkdownTools", 6 | "path": ".", 7 | "folder_exclude_patterns": ["__pycache__", "venv27", "venv33", "venv34", ".git"] 8 | } 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # MarkdownTools 2 | 3 | MarkdownTools is a collection of command line utilities for processing Markdown text files. At the moment the collection includes only one utility: **mdmerge**. Over time additional utilities will be added to support Markdown workflows. 4 | 5 | Current stable version is 1.0. See the *Installation* section below for guidance. 6 | 7 | ## mdmerge 8 | 9 | mdmerge is a command line utility that produces a single Markdown document by merging a set of Markdown documents. The merge can be accomplished by expanding *include specifications* found in the input files, by concatenating a list of files found in an index file, or both. 10 | 11 | ### Synergy with Marked 12 | 13 | Brett Terpstra's [Marked 2][] application is a GUI product that runs on OS X; it watches Markdown text files and displays the formatted output; it has extensive support for multi-file Markdown documents. *Marked* is my tool of choice for viewing formatted Markdown. I use it whenever I'm creating or reviewing Markdown content on my OS X machine. The invaluable multi-file document support in *Marked* is what drove me to create **mdmerge**. 14 | 15 | [Marked 2]: http://marked2app.com 16 | 17 | **mdmerge** brings that same multi-file Markdown document processing to the command line. It is useful in any automated scripting environment where Markdown is processed. For example, I use it in automated build scripts (e.g., using gmake or Grunt) to produce documentation for the software I'm building. It is cross-platform; you can pre-process the Markdown files on any common OS that has a recent version of Python. 18 | 19 | ### Markdown and include file syntax support 20 | 21 | mdmerge has been tested with documents containing these Markdown syntax variants: 22 | 23 | * classic ([John Gruber's Markdown syntax][gruber]) 24 | * MultiMarkdown (Fletcher Penny's syntax, [MultiMarkdown][mmd] version 4) 25 | * [GHF][ghf] (GitHub Flavored Markdown) 26 | 27 | [gruber]: http://daringfireball.net/projects/markdown/syntax 28 | [mmd]: http://fletcherpenney.net/multimarkdown/ 29 | [ghf]: https://help.github.com/articles/github-flavored-markdown 30 | 31 | mdmerge accepts include declarations in these styles 32 | 33 | * [MultiMarkdown transclusion][mmdtrans] 34 | * [Marked file includes][terpstramf] 35 | * [LeanPub code includes][leanpubcd] (as [interpreted by Marked][terpstracd]) 36 | * [LeanPub index files][leanpubidx] 37 | * [mmd_merge index files][mmdidx] 38 | 39 | [terpstramf]: http://marked2app.com/help/Multi-File_Documents.html 40 | [terpstracd]: http://marked2app.com/help/Special_Syntax.html#includingcode 41 | [leanpubcd]: https://leanpub.com/help/manual#leanpub-auto-code 42 | [leanpubidx]: https://leanpub.com/help/manual#leanpub-auto-the-booktxt-file 43 | [mmdtrans]: http://fletcher.github.io/MultiMarkdown-4/transclusion 44 | [mmdidx]: https://github.com/fletcher/MMD-Support/blob/master/Utilities/mmd_merge.pl 45 | 46 | Includes can be nested; that is, a file can include another file that itself include other files, and so on. Index (or book) files are only processed as such when they are the primary input; they cannot be nested -- but the files listed in the index file are treated as normal input files (expanding include specifications found within). 47 | 48 | ## some examples 49 | 50 | This example shows an include specification of another markdown file: 51 | 52 |
This next bit is an included Markdown file. If it also has embedded include specifications, they will be processed as well; these kinds of includes are nested.
 53 | 
 54 | <<[section-a.md]
 55 | 
 56 | End of example.
57 | 58 | This example shows an include specification for source code: 59 | 60 |
This next bit is included source code. It is not examined for nested include specifications.
 61 | 
 62 | <<(example.c)
 63 | 
 64 | End of example.
65 | 66 | This example shows a normal MultiMarkdown transclusion and a source code transclusion: 67 | 68 |
This demonstrates MultiMarkdown transclusions:
 69 | 
 70 | {{section-a.mmd}}
 71 | 
 72 | ```C
 73 | {{example.c}}
 74 | ```
 75 | 
 76 | End of example.
77 | 78 | And of course there are raw file includes (`<<{raw.html}`) and index files. Read the documentation linked in the previous section or look at `docs/specifications.mmd` in the `master` branch. 79 | 80 | ## Installation 81 | 82 | Installation packages are available on PyPI. For Python 3 (3.3 or later) install the `MarkdownTools`; for Python 2 (2.6 or later) install the `MarkdownTools2` package. 83 | 84 | Install the package using pip, like this (in a Python 3 environment): 85 | 86 | ~~~bash 87 | $ pip install MarkdownTools 88 | ~~~ 89 | 90 | or (in a Python 2 environment): 91 | 92 | ~~~bash 93 | $ pip install MarkdownTools2 94 | ~~~ 95 | 96 | If you are upgrading an existing version, use `pip install --upgrade`. 97 | 98 | You may need to use `sudo` if you are installing into the system's native Python environment. 99 | 100 | ## Usage 101 | 102 | The command line looks like this: 103 | 104 | mdmerge [options] [-o outputfile] inputfile [inputFile ...] 105 | mdmerge [options] [-o outputfile] - 106 | 107 | ### Command arguments 108 | 109 | options 110 | : One or more of `--book`, `--export-target`, `-h`, `--help`, `--ignore-transclusions`, `--just-raw` `--leanpub`, `--version`. 111 | 112 | `--book` 113 | : Treat STDIN as an index file (a "book" file). 114 | 115 | `--export-target [html|latex|lyx|opml|rtf|odf]` 116 | : Indicates the ultimate output target of the markdown processor, but primarily impacts wildcard substitution in Marked inclusion. 117 | 118 | `-h` 119 | : Help information 120 | 121 | `--help` 122 | : Same as `-h`. 123 | 124 | `--ignore-transclusions` 125 | : Leave any MultiMarkdown transclusion specifications alone; do not include 126 | the specified file. Useful if you want to mix Marked/LeanPub includes and 127 | MultiMarkdown includes, but have MultiMarkdown handline the transclusions. 128 | 129 | `--just-raw` 130 | : Ignore all include specifications except for raw includes; useful for 131 | processing the output of the Markdown processor to pick up the raw file include 132 | specifications that should have passed through untouched. 133 | 134 | `--leanpub` 135 | : Indicates that any input file named `book.txt` should be treated as a LeanPub index file. 136 | 137 | `--version` 138 | : Gives the version information about the utility. 139 | 140 | `-o outputfile` 141 | : The filepath in which to store the merged text. If not specified, then STDOUT is used. 142 | 143 | `--outfile outputfile` 144 | : same as `-o`. 145 | 146 | `-` 147 | : The input comes from STDIN. 148 | 149 | `inputfile` 150 | : A list of space separated input files that can be merged together. If multiple files are given, they are treated as if they were specified in a LeanPub index file. 151 | 152 | ## Development 153 | 154 | MarkdownTools are written in Python. The project repository contains `python2/*` branches that target Python 2 (2.6 and later) and `python3/*` branches that target Python 3 (3.3 and later). There are unit tests on each branch that can be executed using the `runtests` command script. 155 | 156 | The `master` branch does not contain any source or tests; it contains the README file and a few other files that describe aspects of the project. 157 | 158 | ## Testing 159 | 160 | To run the tests: 161 | 162 | ~~~bash 163 | $ ./runtests.sh 164 | ~~~ 165 | 166 | For Python 2 environments you will need to install the *mock* package (e.g., `pip install mock`). 167 | 168 | ## Contributing 169 | 170 | Similar to the contribution guidance from : 171 | 172 | 1. Fork it. 173 | 1. Create a branch (`git checkout -b my_MarkdownTools`) 174 | 1. Commit your changes (`git commit -am "Added Snarkdown"`) 175 | 1. Push to the branch (`git push origin my_MarkdownTools`) 176 | 1. Open a [Pull Request](http://github.com/jenesuispasdave/MarkdownTools/pulls) 177 | 1. Enjoy a refreshing beverage and wait 178 | 179 | Contributors should read the **developer documentation**, available in the `docs` directory of the `master` branch. To produce a nice pretty HTML version of those docs, install the doc tools (see the `docs-support` directory) and run the `make-docs` script in the `docs` directroy. 180 | 181 | ## License and Copyright 182 | 183 | MarkdownTools is licensed with the [Mozilla Public License Version 2.0][mpl]. 184 | 185 | Copyright 2014 Dave Hein 186 | 187 | [mpl]: http://www.mozilla.org/MPL/2.0/ 188 | -------------------------------------------------------------------------------- /docs-support/.gitignore: -------------------------------------------------------------------------------- 1 | .sass-cache/ 2 | .ruby-version 3 | -------------------------------------------------------------------------------- /docs-support/config.rb: -------------------------------------------------------------------------------- 1 | # Require any additional compass plugins here. 2 | 3 | # Set this to the root of your project when deployed: 4 | http_path = "/" 5 | css_dir = "css" 6 | sass_dir = "sass" 7 | images_dir = "images" 8 | javascripts_dir = "js" 9 | 10 | # You can select your preferred output style here (can be overridden via the command line): 11 | # output_style = :expanded or :nested or :compact or :compressed 12 | output_style = :expanded 13 | 14 | # To enable relative paths to assets via compass helper functions. Uncomment: 15 | # relative_assets = true 16 | 17 | # To disable debugging comments that display the original location of your selectors. Uncomment: 18 | # line_comments = false 19 | line_comments = false 20 | 21 | 22 | # If you prefer the indented syntax, you might want to regenerate this 23 | # project again passing --syntax sass, or you can uncomment this: 24 | # preferred_syntax = :sass 25 | # and then run: 26 | # sass-convert -R --from scss --to sass sass scss && rm -rf sass && mv scss sass 27 | -------------------------------------------------------------------------------- /docs-support/css/ie.css: -------------------------------------------------------------------------------- 1 | /* Welcome to Compass. Use this file to write IE specific override styles. 2 | * Import this file using the following HTML or equivalent: 3 | * */ 6 | -------------------------------------------------------------------------------- /docs-support/css/print.css: -------------------------------------------------------------------------------- 1 | /* Welcome to Compass. Use this file to define print styles. 2 | * Import this file using the following HTML or equivalent: 3 | * */ 4 | html, body, div, span, applet, object, iframe, 5 | h1, h2, h3, h4, h5, h6, p, blockquote, pre, 6 | a, abbr, acronym, address, big, cite, code, 7 | del, dfn, em, img, ins, kbd, q, s, samp, 8 | small, strike, strong, sub, sup, tt, var, 9 | b, u, i, center, 10 | dl, dt, dd, ol, ul, li, 11 | fieldset, form, label, legend, 12 | table, caption, tbody, tfoot, thead, tr, th, td, 13 | article, aside, canvas, details, embed, 14 | figure, figcaption, footer, header, hgroup, 15 | menu, nav, output, ruby, section, summary, 16 | time, mark, audio, video { 17 | margin: 0; 18 | padding: 0; 19 | border: 0; 20 | font: inherit; 21 | font-size: 100%; 22 | vertical-align: baseline; 23 | } 24 | 25 | html { 26 | line-height: 1; 27 | } 28 | 29 | ol, ul { 30 | list-style: none; 31 | } 32 | 33 | table { 34 | border-collapse: collapse; 35 | border-spacing: 0; 36 | } 37 | 38 | caption, th, td { 39 | text-align: left; 40 | font-weight: normal; 41 | vertical-align: middle; 42 | } 43 | 44 | q, blockquote { 45 | quotes: none; 46 | } 47 | q:before, q:after, blockquote:before, blockquote:after { 48 | content: ""; 49 | content: none; 50 | } 51 | 52 | a img { 53 | border: none; 54 | } 55 | 56 | article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary { 57 | display: block; 58 | } 59 | 60 | *, *:after, *:before { 61 | -webkit-box-sizing: border-box; 62 | -moz-box-sizing: border-box; 63 | box-sizing: border-box; 64 | } 65 | 66 | body { 67 | font-size: 12px; 68 | } 69 | 70 | body { 71 | padding: 1em; 72 | font-family: Verdana, Tahoma, sans-serif; 73 | font-weight: 400; 74 | line-height: 1.4em; 75 | } 76 | 77 | p { 78 | padding-top: 0.5em; 79 | padding-bottom: 0.5em; 80 | } 81 | 82 | h1, h2, h3, h4, h5, h6 { 83 | font-family: Baskerville, Garamond, Palatino, "Palatino Linotype", "Hoefler Text", "Times New Roman", serif; 84 | font-weight: 600; 85 | margin-bottom: 0.5em; 86 | margin-top: 0.5em; 87 | padding-top: 0.5em; 88 | padding-bottom: 0.25em; 89 | } 90 | 91 | h1 { 92 | font-size: 1.728em; 93 | border-bottom-color: black; 94 | border-bottom-style: double; 95 | border-bottom-width: thick; 96 | } 97 | 98 | h2 { 99 | font-size: 1.44em; 100 | border-bottom-color: black; 101 | border-bottom-style: solid; 102 | border-bottom-width: thin; 103 | } 104 | 105 | h3 { 106 | font-size: 1.2em; 107 | } 108 | 109 | h4 { 110 | font-size: 1em; 111 | } 112 | 113 | em { 114 | font-style: italic; 115 | } 116 | 117 | strong { 118 | font-weight: 600; 119 | } 120 | 121 | code { 122 | font-family: "Source Code Pro", Consolas, "Bitstream Vera Sans Mono", "Andale Mono", Monaco, "DejaVu Sans Mono", "Lucida Console", monospace; 123 | font-weight: 400; 124 | } 125 | 126 | pre code { 127 | white-space: pre-wrap; 128 | } 129 | 130 | pre { 131 | background: whitesmoke; 132 | margin-left: 1em; 133 | margin-right: 1em; 134 | padding: 0.25em; 135 | display: inline-block; 136 | display: block; 137 | overflow: visible; 138 | word-break: normal; 139 | width: 96.66667%; 140 | min-width: 24.5em; 141 | } 142 | 143 | blockquote { 144 | margin-top: 1em; 145 | margin-bottom: 1em; 146 | margin-left: 2em; 147 | font-style: italic; 148 | } 149 | 150 | table { 151 | border: 1px solid rgba(0, 0, 0, 0.25); 152 | border-collapse: collapse; 153 | display: table; 154 | empty-cells: hide; 155 | table-layout: fixed; 156 | font-size: 0.75em; 157 | } 158 | 159 | caption { 160 | display: table-caption; 161 | font-weight: 700; 162 | } 163 | 164 | col { 165 | display: table-column; 166 | } 167 | 168 | colgroup { 169 | display: table-column-group; 170 | } 171 | 172 | tbody { 173 | display: table-row-group; 174 | } 175 | 176 | tfoot { 177 | display: table-footer-group; 178 | } 179 | 180 | thead { 181 | display: table-header-group; 182 | } 183 | 184 | td, th { 185 | display: table-cell; 186 | padding: 0.25em; 187 | } 188 | 189 | tr { 190 | display: table-row; 191 | } 192 | 193 | th { 194 | font-weight: 600; 195 | } 196 | 197 | table thead { 198 | background: rgba(0, 0, 0, 0.15); 199 | border: 1px solid rgba(0, 0, 0, 0.15); 200 | border-bottom: 1px solid rgba(0, 0, 0, 0.2); 201 | } 202 | 203 | table tbody { 204 | background: rgba(0, 0, 0, 0.05); 205 | } 206 | 207 | table tfoot { 208 | background: rgba(0, 0, 0, 0.15); 209 | border: 1px solid rgba(0, 0, 0, 0.15); 210 | border-top: 1px solid rgba(0, 0, 0, 0.2); 211 | } 212 | 213 | table tr:nth-child(odd), table th:nth-child(odd), table td:nth-child(odd) { 214 | background: rgba(255, 255, 255, 0.06); 215 | } 216 | 217 | table tr:nth-child(even), table td:nth-child(even) { 218 | background: rgba(200, 200, 200, 0.25); 219 | } 220 | 221 | sup { 222 | font-size: .75em; 223 | line-height: 0.46667em; 224 | vertical-align: baseline; 225 | position: relative; 226 | top: -0.46667em; 227 | } 228 | 229 | sub { 230 | font-size: .75em; 231 | line-height: 0.46667em; 232 | vertical-align: baseline; 233 | position: relative; 234 | top: 0.46667em; 235 | } 236 | 237 | ul { 238 | list-style-type: disc; 239 | list-style-position: outside; 240 | padding-left: 2em; 241 | } 242 | ul ul { 243 | list-style-type: circle; 244 | padding-left: 2em; 245 | } 246 | ul ul ul { 247 | list-style-type: square; 248 | padding-left: 2em; 249 | } 250 | 251 | ol { 252 | list-style-type: decimal; 253 | list-style-position: outside; 254 | padding-left: 2em; 255 | } 256 | ol ol { 257 | list-style-type: lower-alpha; 258 | padding-left: 2em; 259 | } 260 | ol ol ol { 261 | list-style-type: lower-roman; 262 | padding-left: 2em; 263 | } 264 | 265 | dt { 266 | font-weight: 600; 267 | } 268 | 269 | dd { 270 | padding-left: 2em; 271 | padding-top: 0.25em; 272 | padding-bottom: 0.25em; 273 | } 274 | 275 | a.backref { 276 | text-decoration: none; 277 | } 278 | 279 | body { 280 | margin-left: 0em; 281 | margin-right: auto; 282 | max-width: 60em; 283 | min-width: 30em; 284 | } 285 | 286 | .backref { 287 | font-size: 2rem; 288 | float: right; 289 | } 290 | 291 | a.backref { 292 | display: none; 293 | } 294 | -------------------------------------------------------------------------------- /docs-support/css/screen.css: -------------------------------------------------------------------------------- 1 | html, body, div, span, applet, object, iframe, 2 | h1, h2, h3, h4, h5, h6, p, blockquote, pre, 3 | a, abbr, acronym, address, big, cite, code, 4 | del, dfn, em, img, ins, kbd, q, s, samp, 5 | small, strike, strong, sub, sup, tt, var, 6 | b, u, i, center, 7 | dl, dt, dd, ol, ul, li, 8 | fieldset, form, label, legend, 9 | table, caption, tbody, tfoot, thead, tr, th, td, 10 | article, aside, canvas, details, embed, 11 | figure, figcaption, footer, header, hgroup, 12 | menu, nav, output, ruby, section, summary, 13 | time, mark, audio, video { 14 | margin: 0; 15 | padding: 0; 16 | border: 0; 17 | font: inherit; 18 | font-size: 100%; 19 | vertical-align: baseline; 20 | } 21 | 22 | html { 23 | line-height: 1; 24 | } 25 | 26 | ol, ul { 27 | list-style: none; 28 | } 29 | 30 | table { 31 | border-collapse: collapse; 32 | border-spacing: 0; 33 | } 34 | 35 | caption, th, td { 36 | text-align: left; 37 | font-weight: normal; 38 | vertical-align: middle; 39 | } 40 | 41 | q, blockquote { 42 | quotes: none; 43 | } 44 | q:before, q:after, blockquote:before, blockquote:after { 45 | content: ""; 46 | content: none; 47 | } 48 | 49 | a img { 50 | border: none; 51 | } 52 | 53 | article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary { 54 | display: block; 55 | } 56 | 57 | *, *:after, *:before { 58 | -webkit-box-sizing: border-box; 59 | -moz-box-sizing: border-box; 60 | box-sizing: border-box; 61 | } 62 | 63 | body { 64 | font-size: 19.2px; 65 | } 66 | 67 | body { 68 | padding: 1em; 69 | font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Verdana, Tahoma, sans-serif; 70 | font-weight: 400; 71 | line-height: 1.4em; 72 | } 73 | 74 | p { 75 | padding-top: 0.5em; 76 | padding-bottom: 0.5em; 77 | } 78 | 79 | h1, h2, h3, h4, h5, h6 { 80 | font-family: Baskerville, Garamond, Palatino, "Palatino Linotype", "Hoefler Text", "Times New Roman", serif; 81 | font-weight: 600; 82 | margin-bottom: 0.5em; 83 | margin-top: 0.5em; 84 | padding-top: 0.5em; 85 | padding-bottom: 0.25em; 86 | } 87 | 88 | h1 { 89 | font-size: 1.728em; 90 | border-bottom-color: black; 91 | border-bottom-style: double; 92 | border-bottom-width: thick; 93 | } 94 | 95 | h2 { 96 | font-size: 1.44em; 97 | border-bottom-color: black; 98 | border-bottom-style: solid; 99 | border-bottom-width: thin; 100 | } 101 | 102 | h3 { 103 | font-size: 1.2em; 104 | } 105 | 106 | h4 { 107 | font-size: 1em; 108 | } 109 | 110 | em { 111 | font-style: italic; 112 | } 113 | 114 | strong { 115 | font-weight: 600; 116 | } 117 | 118 | code { 119 | font-family: "Source Code Pro", Consolas, "Bitstream Vera Sans Mono", "Andale Mono", Monaco, "DejaVu Sans Mono", "Lucida Console", monospace; 120 | font-weight: 400; 121 | } 122 | 123 | pre { 124 | background: whitesmoke; 125 | margin-left: 1em; 126 | margin-right: 1em; 127 | padding: 0.25em; 128 | display: inline-block; 129 | overflow: auto; 130 | width: 96.66667%; 131 | min-width: 24.5em; 132 | } 133 | 134 | blockquote { 135 | margin-top: 1em; 136 | margin-bottom: 1em; 137 | margin-left: 2em; 138 | font-style: italic; 139 | } 140 | 141 | table { 142 | border: 1px solid rgba(0, 0, 0, 0.25); 143 | border-collapse: collapse; 144 | display: table; 145 | empty-cells: hide; 146 | table-layout: fixed; 147 | font-size: 0.75em; 148 | } 149 | 150 | caption { 151 | display: table-caption; 152 | font-weight: 700; 153 | } 154 | 155 | col { 156 | display: table-column; 157 | } 158 | 159 | colgroup { 160 | display: table-column-group; 161 | } 162 | 163 | tbody { 164 | display: table-row-group; 165 | } 166 | 167 | tfoot { 168 | display: table-footer-group; 169 | } 170 | 171 | thead { 172 | display: table-header-group; 173 | } 174 | 175 | td, th { 176 | display: table-cell; 177 | padding: 0.25em; 178 | } 179 | 180 | tr { 181 | display: table-row; 182 | } 183 | 184 | th { 185 | font-weight: 600; 186 | } 187 | 188 | table thead { 189 | background: rgba(0, 0, 0, 0.15); 190 | border: 1px solid rgba(0, 0, 0, 0.15); 191 | border-bottom: 1px solid rgba(0, 0, 0, 0.2); 192 | } 193 | 194 | table tbody { 195 | background: rgba(0, 0, 0, 0.05); 196 | } 197 | 198 | table tfoot { 199 | background: rgba(0, 0, 0, 0.15); 200 | border: 1px solid rgba(0, 0, 0, 0.15); 201 | border-top: 1px solid rgba(0, 0, 0, 0.2); 202 | } 203 | 204 | table tr:nth-child(odd), table th:nth-child(odd), table td:nth-child(odd) { 205 | background: rgba(255, 255, 255, 0.06); 206 | } 207 | 208 | table tr:nth-child(even), table td:nth-child(even) { 209 | background: rgba(200, 200, 200, 0.25); 210 | } 211 | 212 | sup { 213 | font-size: .75em; 214 | line-height: 0.46667em; 215 | vertical-align: baseline; 216 | position: relative; 217 | top: -0.46667em; 218 | } 219 | 220 | sub { 221 | font-size: .75em; 222 | line-height: 0.46667em; 223 | vertical-align: baseline; 224 | position: relative; 225 | top: 0.46667em; 226 | } 227 | 228 | ul { 229 | list-style-type: disc; 230 | list-style-position: outside; 231 | padding-left: 2em; 232 | } 233 | ul ul { 234 | list-style-type: circle; 235 | padding-left: 2em; 236 | } 237 | ul ul ul { 238 | list-style-type: square; 239 | padding-left: 2em; 240 | } 241 | 242 | ol { 243 | list-style-type: decimal; 244 | list-style-position: outside; 245 | padding-left: 2em; 246 | } 247 | ol ol { 248 | list-style-type: lower-alpha; 249 | padding-left: 2em; 250 | } 251 | ol ol ol { 252 | list-style-type: lower-roman; 253 | padding-left: 2em; 254 | } 255 | 256 | dt { 257 | font-weight: 600; 258 | } 259 | 260 | dd { 261 | padding-left: 2em; 262 | padding-top: 0.25em; 263 | padding-bottom: 0.25em; 264 | } 265 | 266 | a.backref { 267 | text-decoration: none; 268 | } 269 | 270 | body { 271 | margin-left: auto; 272 | margin-right: auto; 273 | max-width: 60em; 274 | min-width: 30em; 275 | } 276 | 277 | .backref { 278 | font-size: 2rem; 279 | float: right; 280 | } 281 | -------------------------------------------------------------------------------- /docs-support/js/highlight.pack.js: -------------------------------------------------------------------------------- 1 | var hljs=new function(){function k(v){return v.replace(/&/gm,"&").replace(//gm,">")}function t(v){return v.nodeName.toLowerCase()}function i(w,x){var v=w&&w.exec(x);return v&&v.index==0}function d(v){return Array.prototype.map.call(v.childNodes,function(w){if(w.nodeType==3){return b.useBR?w.nodeValue.replace(/\n/g,""):w.nodeValue}if(t(w)=="br"){return"\n"}return d(w)}).join("")}function r(w){var v=(w.className+" "+(w.parentNode?w.parentNode.className:"")).split(/\s+/);v=v.map(function(x){return x.replace(/^language-/,"")});return v.filter(function(x){return j(x)||x=="no-highlight"})[0]}function o(x,y){var v={};for(var w in x){v[w]=x[w]}if(y){for(var w in y){v[w]=y[w]}}return v}function u(x){var v=[];(function w(y,z){for(var A=y.firstChild;A;A=A.nextSibling){if(A.nodeType==3){z+=A.nodeValue.length}else{if(t(A)=="br"){z+=1}else{if(A.nodeType==1){v.push({event:"start",offset:z,node:A});z=w(A,z);v.push({event:"stop",offset:z,node:A})}}}}return z})(x,0);return v}function q(w,y,C){var x=0;var F="";var z=[];function B(){if(!w.length||!y.length){return w.length?w:y}if(w[0].offset!=y[0].offset){return(w[0].offset"}function E(G){F+=""}function v(G){(G.event=="start"?A:E)(G.node)}while(w.length||y.length){var D=B();F+=k(C.substr(x,D[0].offset-x));x=D[0].offset;if(D==w){z.reverse().forEach(E);do{v(D.splice(0,1)[0]);D=B()}while(D==w&&D.length&&D[0].offset==x);z.reverse().forEach(A)}else{if(D[0].event=="start"){z.push(D[0].node)}else{z.pop()}v(D.splice(0,1)[0])}}return F+k(C.substr(x))}function m(y){function v(z){return(z&&z.source)||z}function w(A,z){return RegExp(v(A),"m"+(y.cI?"i":"")+(z?"g":""))}function x(D,C){if(D.compiled){return}D.compiled=true;D.k=D.k||D.bK;if(D.k){var z={};function E(G,F){if(y.cI){F=F.toLowerCase()}F.split(" ").forEach(function(H){var I=H.split("|");z[I[0]]=[G,I[1]?Number(I[1]):1]})}if(typeof D.k=="string"){E("keyword",D.k)}else{Object.keys(D.k).forEach(function(F){E(F,D.k[F])})}D.k=z}D.lR=w(D.l||/\b[A-Za-z0-9_]+\b/,true);if(C){if(D.bK){D.b=D.bK.split(" ").join("|")}if(!D.b){D.b=/\B|\b/}D.bR=w(D.b);if(!D.e&&!D.eW){D.e=/\B|\b/}if(D.e){D.eR=w(D.e)}D.tE=v(D.e)||"";if(D.eW&&C.tE){D.tE+=(D.e?"|":"")+C.tE}}if(D.i){D.iR=w(D.i)}if(D.r===undefined){D.r=1}if(!D.c){D.c=[]}var B=[];D.c.forEach(function(F){if(F.v){F.v.forEach(function(G){B.push(o(F,G))})}else{B.push(F=="self"?D:F)}});D.c=B;D.c.forEach(function(F){x(F,D)});if(D.starts){x(D.starts,C)}var A=D.c.map(function(F){return F.bK?"\\.?\\b("+F.b+")\\b\\.?":F.b}).concat([D.tE]).concat([D.i]).map(v).filter(Boolean);D.t=A.length?w(A.join("|"),true):{exec:function(F){return null}};D.continuation={}}x(y)}function c(S,L,J,R){function v(U,V){for(var T=0;T";U+=Z+'">';return U+X+Y}function N(){var U=k(C);if(!I.k){return U}var T="";var X=0;I.lR.lastIndex=0;var V=I.lR.exec(U);while(V){T+=U.substr(X,V.index-X);var W=E(I,V);if(W){H+=W[1];T+=w(W[0],V[0])}else{T+=V[0]}X=I.lR.lastIndex;V=I.lR.exec(U)}return T+U.substr(X)}function F(){if(I.sL&&!f[I.sL]){return k(C)}var T=I.sL?c(I.sL,C,true,I.continuation.top):g(C);if(I.r>0){H+=T.r}if(I.subLanguageMode=="continuous"){I.continuation.top=T.top}return w(T.language,T.value,false,true)}function Q(){return I.sL!==undefined?F():N()}function P(V,U){var T=V.cN?w(V.cN,"",true):"";if(V.rB){D+=T;C=""}else{if(V.eB){D+=k(U)+T;C=""}else{D+=T;C=U}}I=Object.create(V,{parent:{value:I}})}function G(T,X){C+=T;if(X===undefined){D+=Q();return 0}var V=v(X,I);if(V){D+=Q();P(V,X);return V.rB?0:X.length}var W=z(I,X);if(W){var U=I;if(!(U.rE||U.eE)){C+=X}D+=Q();do{if(I.cN){D+=""}H+=I.r;I=I.parent}while(I!=W.parent);if(U.eE){D+=k(X)}C="";if(W.starts){P(W.starts,"")}return U.rE?0:X.length}if(A(X,I)){throw new Error('Illegal lexeme "'+X+'" for mode "'+(I.cN||"")+'"')}C+=X;return X.length||1}var M=j(S);if(!M){throw new Error('Unknown language: "'+S+'"')}m(M);var I=R||M;var D="";for(var K=I;K!=M;K=K.parent){if(K.cN){D=w(K.cN,D,true)}}var C="";var H=0;try{var B,y,x=0;while(true){I.t.lastIndex=x;B=I.t.exec(L);if(!B){break}y=G(L.substr(x,B.index-x),B[0]);x=B.index+y}G(L.substr(x));for(var K=I;K.parent;K=K.parent){if(K.cN){D+=""}}return{r:H,value:D,language:S,top:I}}catch(O){if(O.message.indexOf("Illegal")!=-1){return{r:0,value:k(L)}}else{throw O}}}function g(y,x){x=x||b.languages||Object.keys(f);var v={r:0,value:k(y)};var w=v;x.forEach(function(z){if(!j(z)){return}var A=c(z,y,false);A.language=z;if(A.r>w.r){w=A}if(A.r>v.r){w=v;v=A}});if(w.language){v.second_best=w}return v}function h(v){if(b.tabReplace){v=v.replace(/^((<[^>]+>|\t)+)/gm,function(w,z,y,x){return z.replace(/\t/g,b.tabReplace)})}if(b.useBR){v=v.replace(/\n/g,"
")}return v}function p(z){var y=d(z);var A=r(z);if(A=="no-highlight"){return}var v=A?c(A,y,true):g(y);var w=u(z);if(w.length){var x=document.createElementNS("http://www.w3.org/1999/xhtml","pre");x.innerHTML=v.value;v.value=q(w,u(x),y)}v.value=h(v.value);z.innerHTML=v.value;z.className+=" hljs "+(!A&&v.language||"");z.result={language:v.language,re:v.r};if(v.second_best){z.second_best={language:v.second_best.language,re:v.second_best.r}}}var b={classPrefix:"hljs-",tabReplace:null,useBR:false,languages:undefined};function s(v){b=o(b,v)}function l(){if(l.called){return}l.called=true;var v=document.querySelectorAll("pre code");Array.prototype.forEach.call(v,p)}function a(){addEventListener("DOMContentLoaded",l,false);addEventListener("load",l,false)}var f={};var n={};function e(v,x){var w=f[v]=x(this);if(w.aliases){w.aliases.forEach(function(y){n[y]=v})}}function j(v){return f[v]||f[n[v]]}this.highlight=c;this.highlightAuto=g;this.fixMarkup=h;this.highlightBlock=p;this.configure=s;this.initHighlighting=l;this.initHighlightingOnLoad=a;this.registerLanguage=e;this.getLanguage=j;this.inherit=o;this.IR="[a-zA-Z][a-zA-Z0-9_]*";this.UIR="[a-zA-Z_][a-zA-Z0-9_]*";this.NR="\\b\\d+(\\.\\d+)?";this.CNR="(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)";this.BNR="\\b(0b[01]+)";this.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~";this.BE={b:"\\\\[\\s\\S]",r:0};this.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[this.BE]};this.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[this.BE]};this.CLCM={cN:"comment",b:"//",e:"$"};this.CBLCLM={cN:"comment",b:"/\\*",e:"\\*/"};this.HCM={cN:"comment",b:"#",e:"$"};this.NM={cN:"number",b:this.NR,r:0};this.CNM={cN:"number",b:this.CNR,r:0};this.BNM={cN:"number",b:this.BNR,r:0};this.REGEXP_MODE={cN:"regexp",b:/\//,e:/\/[gim]*/,i:/\n/,c:[this.BE,{b:/\[/,e:/\]/,r:0,c:[this.BE]}]};this.TM={cN:"title",b:this.IR,r:0};this.UTM={cN:"title",b:this.UIR,r:0}}();hljs.registerLanguage("cs",function(b){var a="abstract as base bool break byte case catch char checked const continue decimal default delegate do double else enum event explicit extern false finally fixed float for foreach goto if implicit in int interface internal is lock long new null object operator out override params private protected public readonly ref return sbyte sealed short sizeof stackalloc static string struct switch this throw true try typeof uint ulong unchecked unsafe ushort using virtual volatile void while async await ascending descending from get group into join let orderby partial select set value var where yield";return{k:a,c:[{cN:"comment",b:"///",e:"$",rB:true,c:[{cN:"xmlDocTag",b:"///|"},{cN:"xmlDocTag",b:""}]},b.CLCM,b.CBLCLM,{cN:"preprocessor",b:"#",e:"$",k:"if else elif endif define undef warning error line region endregion pragma checksum"},{cN:"string",b:'@"',e:'"',c:[{b:'""'}]},b.ASM,b.QSM,b.CNM,{bK:"protected public private internal",e:/[{;=]/,k:a,c:[{bK:"class namespace interface",starts:{c:[b.TM]}},{b:b.IR+"\\s*\\(",rB:true,c:[b.TM]}]}]}});hljs.registerLanguage("javascript",function(a){return{aliases:["js"],k:{keyword:"in if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const class",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require"},c:[{cN:"pi",b:/^\s*('|")use strict('|")/,r:10},a.ASM,a.QSM,a.CLCM,a.CBLCLM,a.CNM,{b:"("+a.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[a.CLCM,a.CBLCLM,a.REGEXP_MODE,{b:/;/,r:0,sL:"xml"}],r:0},{cN:"function",bK:"function",e:/\{/,c:[a.inherit(a.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{cN:"params",b:/\(/,e:/\)/,c:[a.CLCM,a.CBLCLM],i:/["'\(]/}],i:/\[|%/},{b:/\$[(.]/},{b:"\\."+a.IR,r:0}]}});hljs.registerLanguage("css",function(a){var b="[a-zA-Z-][a-zA-Z0-9_-]*";var c={cN:"function",b:b+"\\(",e:"\\)",c:["self",a.NM,a.ASM,a.QSM]};return{cI:true,i:"[=/|']",c:[a.CBLCLM,{cN:"id",b:"\\#[A-Za-z0-9_-]+"},{cN:"class",b:"\\.[A-Za-z0-9_-]+",r:0},{cN:"attr_selector",b:"\\[",e:"\\]",i:"$"},{cN:"pseudo",b:":(:)?[a-zA-Z0-9\\_\\-\\+\\(\\)\\\"\\']+"},{cN:"at_rule",b:"@(font-face|page)",l:"[a-z-]+",k:"font-face page"},{cN:"at_rule",b:"@",e:"[{;]",c:[{cN:"keyword",b:/\S+/},{b:/\s/,eW:true,eE:true,r:0,c:[c,a.ASM,a.QSM,a.NM]}]},{cN:"tag",b:b,r:0},{cN:"rules",b:"{",e:"}",i:"[^\\s]",r:0,c:[a.CBLCLM,{cN:"rule",b:"[^\\s]",rB:true,e:";",eW:true,c:[{cN:"attribute",b:"[A-Z\\_\\.\\-]+",e:":",eE:true,i:"[^\\s]",starts:{cN:"value",eW:true,eE:true,c:[c,a.NM,a.QSM,a.ASM,a.CBLCLM,{cN:"hexcolor",b:"#[0-9A-Fa-f]+"},{cN:"important",b:"!important"}]}}]}]}]}});hljs.registerLanguage("xml",function(a){var c="[A-Za-z0-9\\._:-]+";var d={b:/<\?(php)?(?!\w)/,e:/\?>/,sL:"php",subLanguageMode:"continuous"};var b={eW:true,i:/]+/}]}]}]};return{aliases:["html"],cI:true,c:[{cN:"doctype",b:"",r:10,c:[{b:"\\[",e:"\\]"}]},{cN:"comment",b:"",r:10},{cN:"cdata",b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"tag",b:"|$)",e:">",k:{title:"style"},c:[b],starts:{e:"",rE:true,sL:"css"}},{cN:"tag",b:"|$)",e:">",k:{title:"script"},c:[b],starts:{e:"<\/script>",rE:true,sL:"javascript"}},{b:"<%",e:"%>",sL:"vbscript"},d,{cN:"pi",b:/<\?\w+/,e:/\?>/,r:10},{cN:"tag",b:"",c:[{cN:"title",b:"[^ /><]+",r:0},b]}]}});hljs.registerLanguage("http",function(a){return{i:"\\S",c:[{cN:"status",b:"^HTTP/[0-9\\.]+",e:"$",c:[{cN:"number",b:"\\b\\d{3}\\b"}]},{cN:"request",b:"^[A-Z]+ (.*?) HTTP/[0-9\\.]+$",rB:true,e:"$",c:[{cN:"string",b:" ",e:" ",eB:true,eE:true}]},{cN:"attribute",b:"^\\w",e:": ",eE:true,i:"\\n|\\s|=",starts:{cN:"string",e:"$"}},{b:"\\n\\n",starts:{sL:"",eW:true}}]}});hljs.registerLanguage("json",function(a){var e={literal:"true false null"};var d=[a.QSM,a.CNM];var c={cN:"value",e:",",eW:true,eE:true,c:d,k:e};var b={b:"{",e:"}",c:[{cN:"attribute",b:'\\s*"',e:'"\\s*:\\s*',eB:true,eE:true,c:[a.BE],i:"\\n",starts:c}],i:"\\S"};var f={b:"\\[",e:"\\]",c:[a.inherit(c,{cN:null})],i:"\\S"};d.splice(d.length,0,b,f);return{c:d,k:e,i:"\\S"}});hljs.registerLanguage("cpp",function(a){var b={keyword:"false int float while private char catch export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const struct for static_cast|10 union namespace unsigned long throw volatile static protected bool template mutable if public friend do return goto auto void enum else break new extern using true class asm case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue wchar_t inline delete alignof char16_t char32_t constexpr decltype noexcept nullptr static_assert thread_local restrict _Bool complex _Complex _Imaginary",built_in:"std string cin cout cerr clog stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf"};return{aliases:["c"],k:b,i:"",i:"\\n"},a.CLCM]},{cN:"stl_container",b:"\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<",e:">",k:b,r:10,c:["self"]}]}}); -------------------------------------------------------------------------------- /docs-support/make-docs.cmd: -------------------------------------------------------------------------------- 1 | REM run this from within the ./docs directory 2 | REM 3 | compass compile . -------------------------------------------------------------------------------- /docs-support/make-docs.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # 3 | rbenv local 2.1.1 4 | compass compile . 5 | rbenv local --unset 6 | -------------------------------------------------------------------------------- /docs-support/sass/ie.scss: -------------------------------------------------------------------------------- 1 | /* Welcome to Compass. Use this file to write IE specific override styles. 2 | * Import this file using the following HTML or equivalent: 3 | * */ 6 | -------------------------------------------------------------------------------- /docs-support/sass/modules/_all.scss: -------------------------------------------------------------------------------- 1 | // variables 2 | // 3 | @import "modules/globalvars"; -------------------------------------------------------------------------------- /docs-support/sass/modules/_globalvars.scss: -------------------------------------------------------------------------------- 1 | // Font weights 2 | // 3 | $light: 100; 4 | $regular: 400; 5 | $bold: 600; 6 | 7 | // sizing 8 | // 9 | $sizing-factor: 1.2; 10 | 11 | // text font 12 | // 13 | $txt-font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", 14 | Verdana, Tahoma, sans-serif; 15 | @if $isPrintMedia { 16 | // for PRINT the "Lucida ..." fonts will be rendered too heavily (everything 17 | // looks bold); so we just drop those fonts from the stack. 18 | // 19 | $txt-font-family: Verdana, Tahoma, sans-serif; 20 | } 21 | $txt-font-weight: $regular; 22 | $txt-line-height: 1.4em; 23 | $txt-sup-line-height: $txt-line-height / 3; 24 | 25 | // heading font 26 | // 27 | $hdr-font-family: Baskerville, Garamond, Palatino, "Palatino Linotype", 28 | "Hoefler Text", "Times New Roman", serif; 29 | $hdr-font-weight: $bold; 30 | $h1-font-size: 1.2em * 1.2 * 1.2; 31 | $h2-font-size: 1.2em * 1.2; 32 | $h3-font-size: 1.2em; 33 | $h4-font-size: 1em; 34 | $h5-font-size: 1em; 35 | $h6-font-size: 1em; 36 | 37 | // code font 38 | // 39 | $code-font-family: "Source Code Pro", Consolas, "Bitstream Vera Sans Mono", 40 | "Andale Mono", Monaco, "DejaVu Sans Mono", "Lucida Console", monospace; 41 | $code-font-weight: $regular; -------------------------------------------------------------------------------- /docs-support/sass/partials/_base.scss: -------------------------------------------------------------------------------- 1 | // using compass (in 2013 it's still good) 2 | // 3 | @import "compass"; 4 | 5 | // Modules (functions, mixins, variables) 6 | // 7 | @import "modules/all"; -------------------------------------------------------------------------------- /docs-support/sass/partials/_layout.scss: -------------------------------------------------------------------------------- 1 | body { 2 | @if $isPrintMedia { 3 | margin-left: 0em; 4 | } @else { 5 | margin-left: auto; 6 | } 7 | margin-right: auto; 8 | max-width: 60em; 9 | min-width: 30em; 10 | } 11 | 12 | .backref { 13 | font-size: 2.0 * 1.0rem; 14 | float: right; 15 | } 16 | 17 | @if $isPrintMedia { 18 | a.backref { 19 | display: none; 20 | } 21 | } -------------------------------------------------------------------------------- /docs-support/sass/partials/_reset.scss: -------------------------------------------------------------------------------- 1 | // basic reset 2 | // 3 | @include global-reset; 4 | 5 | // apply a natural box layout to all elements. 6 | // Here 'natural' means the margin is not included in box height or width. 7 | // 8 | *, *:after, *:before { 9 | @include box-sizing(border-box) 10 | } 11 | 12 | body { 13 | @if $isPrintMedia { 14 | font-size: 12px; 15 | } 16 | @else { 17 | font-size: 16px * $sizing-factor; 18 | } 19 | } -------------------------------------------------------------------------------- /docs-support/sass/partials/_typography.scss: -------------------------------------------------------------------------------- 1 | // pad the body to set it off from the container 2 | // 3 | body { 4 | padding: 1em; 5 | font-family: $txt-font-family; 6 | font-weight: $txt-font-weight; 7 | line-height: $txt-line-height; 8 | } 9 | 10 | p { 11 | padding-top: 0.5em; 12 | padding-bottom: 0.5em; 13 | } 14 | 15 | h1, h2, h3, h4, h5, h6 { 16 | font-family: $hdr-font-family; 17 | font-weight: $hdr-font-weight; 18 | margin-bottom: 0.5em; 19 | margin-top: 0.5em; 20 | padding-top: 0.5em; 21 | padding-bottom: 0.25em; 22 | } 23 | 24 | h1 { 25 | font-size: $h1-font-size; 26 | border-bottom-color: black; 27 | border-bottom-style: double; 28 | border-bottom-width: thick; 29 | } 30 | 31 | h2 { 32 | font-size: $h2-font-size; 33 | border-bottom-color: black; 34 | border-bottom-style: solid; 35 | border-bottom-width: thin; 36 | } 37 | 38 | h3 { 39 | font-size: $h3-font-size; 40 | } 41 | 42 | h4 { 43 | font-size: $h4-font-size; 44 | } 45 | 46 | em { 47 | font-style: italic; 48 | } 49 | 50 | strong { 51 | font-weight: $bold; 52 | } 53 | 54 | code { 55 | font-family: $code-font-family; 56 | font-weight: $code-font-weight; 57 | } 58 | 59 | @if $isPrintMedia { 60 | // for PRINT wrap the code lines (because we don't have interactive horizontal 61 | // scrollbars on the printed page!) 62 | // 63 | pre code { 64 | white-space: pre-wrap; 65 | } 66 | } 67 | 68 | pre { 69 | background: whitesmoke; 70 | margin-left: 1em; 71 | margin-right: 1em; 72 | padding: 0.25em; 73 | display: inline-block; 74 | @if $isPrintMedia { 75 | // for PRINT don't create horizontal scroll bars 76 | // 77 | display: block; 78 | overflow: visible; 79 | word-break: normal; 80 | } 81 | @else { 82 | overflow: auto; 83 | } 84 | width: (58em / 60em) * 100%; 85 | min-width: 24.5em; 86 | } 87 | 88 | blockquote { 89 | margin-top: 1em; 90 | margin-bottom: 1em; 91 | margin-left: 2em; 92 | font-style: italic; 93 | } 94 | 95 | table { 96 | border: 1px solid rgba(0,0,0,0.25); 97 | border-collapse: collapse; 98 | display: table; 99 | empty-cells: hide; 100 | table-layout: fixed; 101 | font-size: 0.75em; 102 | } 103 | 104 | caption { 105 | display: table-caption; 106 | font-weight: 700; 107 | } 108 | 109 | col { 110 | display: table-column; 111 | } 112 | 113 | colgroup { 114 | display: table-column-group; 115 | } 116 | 117 | tbody { 118 | display: table-row-group; 119 | } 120 | 121 | tfoot { 122 | display: table-footer-group; 123 | } 124 | 125 | thead { 126 | display: table-header-group; 127 | } 128 | 129 | td, th { 130 | display: table-cell; 131 | padding: 0.25em; 132 | } 133 | 134 | tr { 135 | display: table-row; 136 | } 137 | 138 | th { 139 | font-weight: $bold; 140 | } 141 | 142 | table thead { 143 | background: rgba(0,0,0,0.15); 144 | border: 1px solid rgba(0,0,0,0.15); 145 | border-bottom: 1px solid rgba(0,0,0,0.2); 146 | } 147 | 148 | table tbody { 149 | background: rgba(0,0,0,0.05); 150 | } 151 | 152 | table tfoot { 153 | background: rgba(0,0,0,0.15); 154 | border: 1px solid rgba(0,0,0,0.15); 155 | border-top: 1px solid rgba(0,0,0,0.2); 156 | } 157 | 158 | table tr:nth-child(odd), table th:nth-child(odd), table td:nth-child(odd) { 159 | background: rgba(255,255,255,0.06); 160 | } 161 | 162 | table tr:nth-child(even), table td:nth-child(even) { 163 | background: rgba(200,200,200,0.25); 164 | } 165 | 166 | 167 | // based on replies and comment in this Stack Overflow article: 168 | // http://stackoverflow.com/questions/501671/superscript-in-css-only 169 | // 170 | sup { 171 | font-size: .75em; 172 | line-height: $txt-sup-line-height; 173 | vertical-align: baseline; 174 | position: relative; 175 | top: -1.0 * $txt-sup-line-height; 176 | } 177 | 178 | // based on replies and comment in this Stack Overflow article: 179 | // http://stackoverflow.com/questions/501671/superscript-in-css-only 180 | // 181 | sub { 182 | font-size: .75em; 183 | line-height: $txt-sup-line-height; 184 | vertical-align: baseline; 185 | position: relative; 186 | top: 1.0 * $txt-sup-line-height; 187 | } 188 | 189 | ul { 190 | list-style-type: disc; 191 | list-style-position: outside; 192 | padding-left: 2em; 193 | ul { 194 | list-style-type: circle; 195 | padding-left: 2em; 196 | ul { 197 | list-style-type: square; 198 | padding-left: 2em; 199 | } 200 | } 201 | } 202 | 203 | ol { 204 | list-style-type: decimal; 205 | list-style-position: outside; 206 | padding-left: 2em; 207 | ol { 208 | list-style-type: lower-alpha; 209 | padding-left: 2em; 210 | ol { 211 | list-style-type: lower-roman; 212 | padding-left: 2em; 213 | } 214 | } 215 | } 216 | 217 | dt { 218 | font-weight: $bold; 219 | } 220 | 221 | dd { 222 | padding-left: 2em; 223 | padding-top: 0.25em; 224 | padding-bottom: 0.25em; 225 | } 226 | 227 | a.backref { 228 | text-decoration: none; 229 | } -------------------------------------------------------------------------------- /docs-support/sass/print.scss: -------------------------------------------------------------------------------- 1 | /* Welcome to Compass. Use this file to define print styles. 2 | * Import this file using the following HTML or equivalent: 3 | * */ 4 | 5 | // Set the media type 6 | // 7 | $isScreenMedia: false; 8 | $isPrintMedia: true; 9 | 10 | // mixins, functions, variables 11 | // 12 | @import "partials/base"; 13 | 14 | // partials 15 | // 16 | @import "partials/reset"; 17 | @import "partials/typography"; 18 | @import "partials/layout"; 19 | -------------------------------------------------------------------------------- /docs-support/sass/screen.scss: -------------------------------------------------------------------------------- 1 | // Set the media type 2 | // 3 | $isScreenMedia: true; 4 | $isPrintMedia: false; 5 | 6 | // mixins, functions, variables 7 | // 8 | @import "partials/base"; 9 | 10 | // partials 11 | // 12 | @import "partials/reset"; 13 | @import "partials/typography"; 14 | @import "partials/layout"; 15 | -------------------------------------------------------------------------------- /docs-support/styles/arta.css: -------------------------------------------------------------------------------- 1 | /* 2 | Date: 17.V.2011 3 | Author: pumbur 4 | */ 5 | 6 | .hljs 7 | { 8 | display: block; padding: 0.5em; 9 | background: #222; 10 | } 11 | 12 | .profile .hljs-header *, 13 | .ini .hljs-title, 14 | .nginx .hljs-title 15 | { 16 | color: #fff; 17 | } 18 | 19 | .hljs-comment, 20 | .hljs-javadoc, 21 | .hljs-preprocessor, 22 | .hljs-preprocessor .hljs-title, 23 | .hljs-pragma, 24 | .hljs-shebang, 25 | .profile .hljs-summary, 26 | .diff, 27 | .hljs-pi, 28 | .hljs-doctype, 29 | .hljs-tag, 30 | .hljs-template_comment, 31 | .css .hljs-rules, 32 | .tex .hljs-special 33 | { 34 | color: #444; 35 | } 36 | 37 | .hljs-string, 38 | .hljs-symbol, 39 | .diff .hljs-change, 40 | .hljs-regexp, 41 | .xml .hljs-attribute, 42 | .smalltalk .hljs-char, 43 | .xml .hljs-value, 44 | .ini .hljs-value, 45 | .clojure .hljs-attribute, 46 | .coffeescript .hljs-attribute 47 | { 48 | color: #ffcc33; 49 | } 50 | 51 | .hljs-number, 52 | .hljs-addition 53 | { 54 | color: #00cc66; 55 | } 56 | 57 | .hljs-built_in, 58 | .hljs-literal, 59 | .vhdl .hljs-typename, 60 | .go .hljs-constant, 61 | .go .hljs-typename, 62 | .ini .hljs-keyword, 63 | .lua .hljs-title, 64 | .perl .hljs-variable, 65 | .php .hljs-variable, 66 | .mel .hljs-variable, 67 | .django .hljs-variable, 68 | .css .funtion, 69 | .smalltalk .method, 70 | .hljs-hexcolor, 71 | .hljs-important, 72 | .hljs-flow, 73 | .hljs-inheritance, 74 | .parser3 .hljs-variable 75 | { 76 | color: #32AAEE; 77 | } 78 | 79 | .hljs-keyword, 80 | .hljs-tag .hljs-title, 81 | .css .hljs-tag, 82 | .css .hljs-class, 83 | .css .hljs-id, 84 | .css .hljs-pseudo, 85 | .css .hljs-attr_selector, 86 | .lisp .hljs-title, 87 | .clojure .hljs-built_in, 88 | .hljs-winutils, 89 | .tex .hljs-command, 90 | .hljs-request, 91 | .hljs-status 92 | { 93 | color: #6644aa; 94 | } 95 | 96 | .hljs-title, 97 | .ruby .hljs-constant, 98 | .vala .hljs-constant, 99 | .hljs-parent, 100 | .hljs-deletion, 101 | .hljs-template_tag, 102 | .css .hljs-keyword, 103 | .objectivec .hljs-class .hljs-id, 104 | .smalltalk .hljs-class, 105 | .lisp .hljs-keyword, 106 | .apache .hljs-tag, 107 | .nginx .hljs-variable, 108 | .hljs-envvar, 109 | .bash .hljs-variable, 110 | .go .hljs-built_in, 111 | .vbscript .hljs-built_in, 112 | .lua .hljs-built_in, 113 | .rsl .hljs-built_in, 114 | .tail, 115 | .avrasm .hljs-label, 116 | .tex .hljs-formula, 117 | .tex .hljs-formula * 118 | { 119 | color: #bb1166; 120 | } 121 | 122 | .hljs-yardoctag, 123 | .hljs-phpdoc, 124 | .profile .hljs-header, 125 | .ini .hljs-title, 126 | .apache .hljs-tag, 127 | .parser3 .hljs-title 128 | { 129 | font-weight: bold; 130 | } 131 | 132 | .coffeescript .javascript, 133 | .javascript .xml, 134 | .tex .hljs-formula, 135 | .xml .javascript, 136 | .xml .vbscript, 137 | .xml .css, 138 | .xml .hljs-cdata 139 | { 140 | opacity: 0.6; 141 | } 142 | 143 | .hljs, 144 | .javascript, 145 | .css, 146 | .xml, 147 | .hljs-subst, 148 | .diff .hljs-chunk, 149 | .css .hljs-value, 150 | .css .hljs-attribute, 151 | .lisp .hljs-string, 152 | .lisp .hljs-number, 153 | .tail .hljs-params, 154 | .hljs-container, 155 | .haskell *, 156 | .erlang *, 157 | .erlang_repl * 158 | { 159 | color: #aaa; 160 | } 161 | -------------------------------------------------------------------------------- /docs-support/styles/ascetic.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Original style from softwaremaniacs.org (c) Ivan Sagalaev 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; padding: 0.5em; 9 | background: white; color: black; 10 | } 11 | 12 | .hljs-string, 13 | .hljs-tag .hljs-value, 14 | .hljs-filter .hljs-argument, 15 | .hljs-addition, 16 | .hljs-change, 17 | .apache .hljs-tag, 18 | .apache .hljs-cbracket, 19 | .nginx .hljs-built_in, 20 | .tex .hljs-formula { 21 | color: #888; 22 | } 23 | 24 | .hljs-comment, 25 | .hljs-template_comment, 26 | .hljs-shebang, 27 | .hljs-doctype, 28 | .hljs-pi, 29 | .hljs-javadoc, 30 | .hljs-deletion, 31 | .apache .hljs-sqbracket { 32 | color: #CCC; 33 | } 34 | 35 | .hljs-keyword, 36 | .hljs-tag .hljs-title, 37 | .ini .hljs-title, 38 | .lisp .hljs-title, 39 | .clojure .hljs-title, 40 | .http .hljs-title, 41 | .nginx .hljs-title, 42 | .css .hljs-tag, 43 | .hljs-winutils, 44 | .hljs-flow, 45 | .apache .hljs-tag, 46 | .tex .hljs-command, 47 | .hljs-request, 48 | .hljs-status { 49 | font-weight: bold; 50 | } 51 | -------------------------------------------------------------------------------- /docs-support/styles/atelier-dune.dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Dune Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | /* https://github.com/jmblog/color-themes-for-highlightjs */ 5 | 6 | /* Atelier Dune Dark Comment */ 7 | .hljs-comment, 8 | .hljs-title { 9 | color: #999580; 10 | } 11 | 12 | /* Atelier Dune Dark Red */ 13 | .hljs-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-regexp, 17 | .ruby .hljs-constant, 18 | .xml .hljs-tag .hljs-title, 19 | .xml .hljs-pi, 20 | .xml .hljs-doctype, 21 | .html .hljs-doctype, 22 | .css .hljs-id, 23 | .css .hljs-class, 24 | .css .hljs-pseudo { 25 | color: #d73737; 26 | } 27 | 28 | /* Atelier Dune Dark Orange */ 29 | .hljs-number, 30 | .hljs-preprocessor, 31 | .hljs-pragma, 32 | .hljs-built_in, 33 | .hljs-literal, 34 | .hljs-params, 35 | .hljs-constant { 36 | color: #b65611; 37 | } 38 | 39 | /* Atelier Dune Dark Yellow */ 40 | .ruby .hljs-class .hljs-title, 41 | .css .hljs-rules .hljs-attribute { 42 | color: #cfb017; 43 | } 44 | 45 | /* Atelier Dune Dark Green */ 46 | .hljs-string, 47 | .hljs-value, 48 | .hljs-inheritance, 49 | .hljs-header, 50 | .ruby .hljs-symbol, 51 | .xml .hljs-cdata { 52 | color: #60ac39; 53 | } 54 | 55 | /* Atelier Dune Dark Aqua */ 56 | .css .hljs-hexcolor { 57 | color: #1fad83; 58 | } 59 | 60 | /* Atelier Dune Dark Blue */ 61 | .hljs-function, 62 | .python .hljs-decorator, 63 | .python .hljs-title, 64 | .ruby .hljs-function .hljs-title, 65 | .ruby .hljs-title .hljs-keyword, 66 | .perl .hljs-sub, 67 | .javascript .hljs-title, 68 | .coffeescript .hljs-title { 69 | color: #6684e1; 70 | } 71 | 72 | /* Atelier Dune Dark Purple */ 73 | .hljs-keyword, 74 | .javascript .hljs-function { 75 | color: #b854d4; 76 | } 77 | 78 | .hljs { 79 | display: block; 80 | background: #292824; 81 | color: #a6a28c; 82 | padding: 0.5em; 83 | } 84 | 85 | .coffeescript .javascript, 86 | .javascript .xml, 87 | .tex .hljs-formula, 88 | .xml .javascript, 89 | .xml .vbscript, 90 | .xml .css, 91 | .xml .hljs-cdata { 92 | opacity: 0.5; 93 | } 94 | -------------------------------------------------------------------------------- /docs-support/styles/atelier-dune.light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Dune Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | /* https://github.com/jmblog/color-themes-for-highlightjs */ 5 | 6 | /* Atelier Dune Light Comment */ 7 | .hljs-comment, 8 | .hljs-title { 9 | color: #7d7a68; 10 | } 11 | 12 | /* Atelier Dune Light Red */ 13 | .hljs-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-regexp, 17 | .ruby .hljs-constant, 18 | .xml .hljs-tag .hljs-title, 19 | .xml .hljs-pi, 20 | .xml .hljs-doctype, 21 | .html .hljs-doctype, 22 | .css .hljs-id, 23 | .css .hljs-class, 24 | .css .hljs-pseudo { 25 | color: #d73737; 26 | } 27 | 28 | /* Atelier Dune Light Orange */ 29 | .hljs-number, 30 | .hljs-preprocessor, 31 | .hljs-pragma, 32 | .hljs-built_in, 33 | .hljs-literal, 34 | .hljs-params, 35 | .hljs-constant { 36 | color: #b65611; 37 | } 38 | 39 | /* Atelier Dune Light Yellow */ 40 | .hljs-ruby .hljs-class .hljs-title, 41 | .css .hljs-rules .hljs-attribute { 42 | color: #cfb017; 43 | } 44 | 45 | /* Atelier Dune Light Green */ 46 | .hljs-string, 47 | .hljs-value, 48 | .hljs-inheritance, 49 | .hljs-header, 50 | .ruby .hljs-symbol, 51 | .xml .hljs-cdata { 52 | color: #60ac39; 53 | } 54 | 55 | /* Atelier Dune Light Aqua */ 56 | .css .hljs-hexcolor { 57 | color: #1fad83; 58 | } 59 | 60 | /* Atelier Dune Light Blue */ 61 | .hljs-function, 62 | .python .hljs-decorator, 63 | .python .hljs-title, 64 | .ruby .hljs-function .hljs-title, 65 | .ruby .hljs-title .hljs-keyword, 66 | .perl .hljs-sub, 67 | .javascript .hljs-title, 68 | .coffeescript .hljs-title { 69 | color: #6684e1; 70 | } 71 | 72 | /* Atelier Dune Light Purple */ 73 | .hljs-keyword, 74 | .javascript .hljs-function { 75 | color: #b854d4; 76 | } 77 | 78 | .hljs { 79 | display: block; 80 | background: #fefbec; 81 | color: #6e6b5e; 82 | padding: 0.5em; 83 | } 84 | 85 | .coffeescript .javascript, 86 | .javascript .xml, 87 | .tex .hljs-formula, 88 | .xml .javascript, 89 | .xml .vbscript, 90 | .xml .css, 91 | .xml .hljs-cdata { 92 | opacity: 0.5; 93 | } 94 | -------------------------------------------------------------------------------- /docs-support/styles/atelier-forest.dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Forest Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | /* https://github.com/jmblog/color-themes-for-highlightjs */ 5 | 6 | /* Atelier Forest Dark Comment */ 7 | .hljs-comment, 8 | .hljs-title { 9 | color: #9c9491; 10 | } 11 | 12 | /* Atelier Forest Dark Red */ 13 | .hljs-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-regexp, 17 | .ruby .hljs-constant, 18 | .xml .hljs-tag .hljs-title, 19 | .xml .hljs-pi, 20 | .xml .hljs-doctype, 21 | .html .hljs-doctype, 22 | .css .hljs-id, 23 | .css .hljs-class, 24 | .css .hljs-pseudo { 25 | color: #f22c40; 26 | } 27 | 28 | /* Atelier Forest Dark Orange */ 29 | .hljs-number, 30 | .hljs-preprocessor, 31 | .hljs-pragma, 32 | .hljs-built_in, 33 | .hljs-literal, 34 | .hljs-params, 35 | .hljs-constant { 36 | color: #df5320; 37 | } 38 | 39 | /* Atelier Forest Dark Yellow */ 40 | .hljs-ruby .hljs-class .hljs-title, 41 | .css .hljs-rules .hljs-attribute { 42 | color: #d5911a; 43 | } 44 | 45 | /* Atelier Forest Dark Green */ 46 | .hljs-string, 47 | .hljs-value, 48 | .hljs-inheritance, 49 | .hljs-header, 50 | .ruby .hljs-symbol, 51 | .xml .hljs-cdata { 52 | color: #5ab738; 53 | } 54 | 55 | /* Atelier Forest Dark Aqua */ 56 | .css .hljs-hexcolor { 57 | color: #00ad9c; 58 | } 59 | 60 | /* Atelier Forest Dark Blue */ 61 | .hljs-function, 62 | .python .hljs-decorator, 63 | .python .hljs-title, 64 | .ruby .hljs-function .hljs-title, 65 | .ruby .hljs-title .hljs-keyword, 66 | .perl .hljs-sub, 67 | .javascript .hljs-title, 68 | .coffeescript .hljs-title { 69 | color: #407ee7; 70 | } 71 | 72 | /* Atelier Forest Dark Purple */ 73 | .hljs-keyword, 74 | .javascript .hljs-function { 75 | color: #6666ea; 76 | } 77 | 78 | .hljs { 79 | display: block; 80 | background: #2c2421; 81 | color: #a8a19f; 82 | padding: 0.5em; 83 | } 84 | 85 | .coffeescript .javascript, 86 | .javascript .xml, 87 | .tex .hljs-formula, 88 | .xml .javascript, 89 | .xml .vbscript, 90 | .xml .css, 91 | .xml .hljs-cdata { 92 | opacity: 0.5; 93 | } 94 | -------------------------------------------------------------------------------- /docs-support/styles/atelier-forest.light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Forest Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | /* https://github.com/jmblog/color-themes-for-highlightjs */ 5 | 6 | /* Atelier Forest Light Comment */ 7 | .hljs-comment, 8 | .hljs-title { 9 | color: #766e6b; 10 | } 11 | 12 | /* Atelier Forest Light Red */ 13 | .hljs-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-regexp, 17 | .ruby .hljs-constant, 18 | .xml .hljs-tag .hljs-title, 19 | .xml .hljs-pi, 20 | .xml .hljs-doctype, 21 | .html .hljs-doctype, 22 | .css .hljs-id, 23 | .css .hljs-class, 24 | .css .hljs-pseudo { 25 | color: #f22c40; 26 | } 27 | 28 | /* Atelier Forest Light Orange */ 29 | .hljs-number, 30 | .hljs-preprocessor, 31 | .hljs-pragma, 32 | .hljs-built_in, 33 | .hljs-literal, 34 | .hljs-params, 35 | .hljs-constant { 36 | color: #df5320; 37 | } 38 | 39 | /* Atelier Forest Light Yellow */ 40 | .hljs-ruby .hljs-class .hljs-title, 41 | .css .hljs-rules .hljs-attribute { 42 | color: #d5911a; 43 | } 44 | 45 | /* Atelier Forest Light Green */ 46 | .hljs-string, 47 | .hljs-value, 48 | .hljs-inheritance, 49 | .hljs-header, 50 | .ruby .hljs-symbol, 51 | .xml .hljs-cdata { 52 | color: #5ab738; 53 | } 54 | 55 | /* Atelier Forest Light Aqua */ 56 | .css .hljs-hexcolor { 57 | color: #00ad9c; 58 | } 59 | 60 | /* Atelier Forest Light Blue */ 61 | .hljs-function, 62 | .python .hljs-decorator, 63 | .python .hljs-title, 64 | .ruby .hljs-function .hljs-title, 65 | .ruby .hljs-title .hljs-keyword, 66 | .perl .hljs-sub, 67 | .javascript .hljs-title, 68 | .coffeescript .hljs-title { 69 | color: #407ee7; 70 | } 71 | 72 | /* Atelier Forest Light Purple */ 73 | .hljs-keyword, 74 | .javascript .hljs-function { 75 | color: #6666ea; 76 | } 77 | 78 | .hljs { 79 | display: block; 80 | background: #f1efee; 81 | color: #68615e; 82 | padding: 0.5em; 83 | } 84 | 85 | .coffeescript .javascript, 86 | .javascript .xml, 87 | .tex .hljs-formula, 88 | .xml .javascript, 89 | .xml .vbscript, 90 | .xml .css, 91 | .xml .hljs-cdata { 92 | opacity: 0.5; 93 | } 94 | -------------------------------------------------------------------------------- /docs-support/styles/atelier-heath.dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Heath Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | /* https://github.com/jmblog/color-themes-for-highlightjs */ 5 | 6 | /* Atelier Heath Dark Comment */ 7 | .hljs-comment, 8 | .hljs-title { 9 | color: #9e8f9e; 10 | } 11 | 12 | /* Atelier Heath Dark Red */ 13 | .hljs-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-regexp, 17 | .ruby .hljs-constant, 18 | .xml .hljs-tag .hljs-title, 19 | .xml .hljs-pi, 20 | .xml .hljs-doctype, 21 | .html .hljs-doctype, 22 | .css .hljs-id, 23 | .css .hljs-class, 24 | .css .hljs-pseudo { 25 | color: #ca402b; 26 | } 27 | 28 | /* Atelier Heath Dark Orange */ 29 | .hljs-number, 30 | .hljs-preprocessor, 31 | .hljs-pragma, 32 | .hljs-built_in, 33 | .hljs-literal, 34 | .hljs-params, 35 | .hljs-constant { 36 | color: #a65926; 37 | } 38 | 39 | /* Atelier Heath Dark Yellow */ 40 | .hljs-ruby .hljs-class .hljs-title, 41 | .css .hljs-rules .hljs-attribute { 42 | color: #bb8a35; 43 | } 44 | 45 | /* Atelier Heath Dark Green */ 46 | .hljs-string, 47 | .hljs-value, 48 | .hljs-inheritance, 49 | .hljs-header, 50 | .ruby .hljs-symbol, 51 | .xml .hljs-cdata { 52 | color: #379a37; 53 | } 54 | 55 | /* Atelier Heath Dark Aqua */ 56 | .css .hljs-hexcolor { 57 | color: #159393; 58 | } 59 | 60 | /* Atelier Heath Dark Blue */ 61 | .hljs-function, 62 | .python .hljs-decorator, 63 | .python .hljs-title, 64 | .ruby .hljs-function .hljs-title, 65 | .ruby .hljs-title .hljs-keyword, 66 | .perl .hljs-sub, 67 | .javascript .hljs-title, 68 | .coffeescript .hljs-title { 69 | color: #516aec; 70 | } 71 | 72 | /* Atelier Heath Dark Purple */ 73 | .hljs-keyword, 74 | .javascript .hljs-function { 75 | color: #7b59c0; 76 | } 77 | 78 | .hljs { 79 | display: block; 80 | background: #292329; 81 | color: #ab9bab; 82 | padding: 0.5em; 83 | } 84 | 85 | .coffeescript .javascript, 86 | .javascript .xml, 87 | .tex .hljs-formula, 88 | .xml .javascript, 89 | .xml .vbscript, 90 | .xml .css, 91 | .xml .hljs-cdata { 92 | opacity: 0.5; 93 | } 94 | -------------------------------------------------------------------------------- /docs-support/styles/atelier-heath.light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Heath Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | /* https://github.com/jmblog/color-themes-for-highlightjs */ 5 | 6 | /* Atelier Heath Light Comment */ 7 | .hljs-comment, 8 | .hljs-title { 9 | color: #776977; 10 | } 11 | 12 | /* Atelier Heath Light Red */ 13 | .hljs-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-regexp, 17 | .ruby .hljs-constant, 18 | .xml .hljs-tag .hljs-title, 19 | .xml .hljs-pi, 20 | .xml .hljs-doctype, 21 | .html .hljs-doctype, 22 | .css .hljs-id, 23 | .css .hljs-class, 24 | .css .hljs-pseudo { 25 | color: #ca402b; 26 | } 27 | 28 | /* Atelier Heath Light Orange */ 29 | .hljs-number, 30 | .hljs-preprocessor, 31 | .hljs-pragma, 32 | .hljs-built_in, 33 | .hljs-literal, 34 | .hljs-params, 35 | .hljs-constant { 36 | color: #a65926; 37 | } 38 | 39 | /* Atelier Heath Light Yellow */ 40 | .hljs-ruby .hljs-class .hljs-title, 41 | .css .hljs-rules .hljs-attribute { 42 | color: #bb8a35; 43 | } 44 | 45 | /* Atelier Heath Light Green */ 46 | .hljs-string, 47 | .hljs-value, 48 | .hljs-inheritance, 49 | .hljs-header, 50 | .ruby .hljs-symbol, 51 | .xml .hljs-cdata { 52 | color: #379a37; 53 | } 54 | 55 | /* Atelier Heath Light Aqua */ 56 | .css .hljs-hexcolor { 57 | color: #159393; 58 | } 59 | 60 | /* Atelier Heath Light Blue */ 61 | .hljs-function, 62 | .python .hljs-decorator, 63 | .python .hljs-title, 64 | .ruby .hljs-function .hljs-title, 65 | .ruby .hljs-title .hljs-keyword, 66 | .perl .hljs-sub, 67 | .javascript .hljs-title, 68 | .coffeescript .hljs-title { 69 | color: #516aec; 70 | } 71 | 72 | /* Atelier Heath Light Purple */ 73 | .hljs-keyword, 74 | .javascript .hljs-function { 75 | color: #7b59c0; 76 | } 77 | 78 | .hljs { 79 | display: block; 80 | background: #f7f3f7; 81 | color: #695d69; 82 | padding: 0.5em; 83 | } 84 | 85 | .coffeescript .javascript, 86 | .javascript .xml, 87 | .tex .hljs-formula, 88 | .xml .javascript, 89 | .xml .vbscript, 90 | .xml .css, 91 | .xml .hljs-cdata { 92 | opacity: 0.5; 93 | } 94 | -------------------------------------------------------------------------------- /docs-support/styles/atelier-lakeside.dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Lakeside Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside/) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | /* https://github.com/jmblog/color-themes-for-highlightjs */ 5 | 6 | /* Atelier Lakeside Dark Comment */ 7 | .hljs-comment, 8 | .hljs-title { 9 | color: #7195a8; 10 | } 11 | 12 | /* Atelier Lakeside Dark Red */ 13 | .hljs-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-regexp, 17 | .ruby .hljs-constant, 18 | .xml .hljs-tag .hljs-title, 19 | .xml .hljs-pi, 20 | .xml .hljs-doctype, 21 | .html .hljs-doctype, 22 | .css .hljs-id, 23 | .css .hljs-class, 24 | .css .hljs-pseudo { 25 | color: #d22d72; 26 | } 27 | 28 | /* Atelier Lakeside Dark Orange */ 29 | .hljs-number, 30 | .hljs-preprocessor, 31 | .hljs-pragma, 32 | .hljs-built_in, 33 | .hljs-literal, 34 | .hljs-params, 35 | .hljs-constant { 36 | color: #935c25; 37 | } 38 | 39 | /* Atelier Lakeside Dark Yellow */ 40 | .hljs-ruby .hljs-class .hljs-title, 41 | .css .hljs-rules .hljs-attribute { 42 | color: #8a8a0f; 43 | } 44 | 45 | /* Atelier Lakeside Dark Green */ 46 | .hljs-string, 47 | .hljs-value, 48 | .hljs-inheritance, 49 | .hljs-header, 50 | .ruby .hljs-symbol, 51 | .xml .hljs-cdata { 52 | color: #568c3b; 53 | } 54 | 55 | /* Atelier Lakeside Dark Aqua */ 56 | .css .hljs-hexcolor { 57 | color: #2d8f6f; 58 | } 59 | 60 | /* Atelier Lakeside Dark Blue */ 61 | .hljs-function, 62 | .python .hljs-decorator, 63 | .python .hljs-title, 64 | .ruby .hljs-function .hljs-title, 65 | .ruby .hljs-title .hljs-keyword, 66 | .perl .hljs-sub, 67 | .javascript .hljs-title, 68 | .coffeescript .hljs-title { 69 | color: #257fad; 70 | } 71 | 72 | /* Atelier Lakeside Dark Purple */ 73 | .hljs-keyword, 74 | .javascript .hljs-function { 75 | color: #5d5db1; 76 | } 77 | 78 | .hljs { 79 | display: block; 80 | background: #1f292e; 81 | color: #7ea2b4; 82 | padding: 0.5em; 83 | } 84 | 85 | .coffeescript .javascript, 86 | .javascript .xml, 87 | .tex .hljs-formula, 88 | .xml .javascript, 89 | .xml .vbscript, 90 | .xml .css, 91 | .xml .hljs-cdata { 92 | opacity: 0.5; 93 | } 94 | -------------------------------------------------------------------------------- /docs-support/styles/atelier-lakeside.light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Lakeside Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside/) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | /* https://github.com/jmblog/color-themes-for-highlightjs */ 5 | 6 | /* Atelier Lakeside Light Comment */ 7 | .hljs-comment, 8 | .hljs-title { 9 | color: #5a7b8c; 10 | } 11 | 12 | /* Atelier Lakeside Light Red */ 13 | .hljs-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-regexp, 17 | .ruby .hljs-constant, 18 | .xml .hljs-tag .hljs-title, 19 | .xml .hljs-pi, 20 | .xml .hljs-doctype, 21 | .html .hljs-doctype, 22 | .css .hljs-id, 23 | .css .hljs-class, 24 | .css .hljs-pseudo { 25 | color: #d22d72; 26 | } 27 | 28 | /* Atelier Lakeside Light Orange */ 29 | .hljs-number, 30 | .hljs-preprocessor, 31 | .hljs-pragma, 32 | .hljs-built_in, 33 | .hljs-literal, 34 | .hljs-params, 35 | .hljs-constant { 36 | color: #935c25; 37 | } 38 | 39 | /* Atelier Lakeside Light Yellow */ 40 | .hljs-ruby .hljs-class .hljs-title, 41 | .css .hljs-rules .hljs-attribute { 42 | color: #8a8a0f; 43 | } 44 | 45 | /* Atelier Lakeside Light Green */ 46 | .hljs-string, 47 | .hljs-value, 48 | .hljs-inheritance, 49 | .hljs-header, 50 | .ruby .hljs-symbol, 51 | .xml .hljs-cdata { 52 | color: #568c3b; 53 | } 54 | 55 | /* Atelier Lakeside Light Aqua */ 56 | .css .hljs-hexcolor { 57 | color: #2d8f6f; 58 | } 59 | 60 | /* Atelier Lakeside Light Blue */ 61 | .hljs-function, 62 | .python .hljs-decorator, 63 | .python .hljs-title, 64 | .ruby .hljs-function .hljs-title, 65 | .ruby .hljs-title .hljs-keyword, 66 | .perl .hljs-sub, 67 | .javascript .hljs-title, 68 | .coffeescript .hljs-title { 69 | color: #257fad; 70 | } 71 | 72 | /* Atelier Lakeside Light Purple */ 73 | .hljs-keyword, 74 | .javascript .hljs-function { 75 | color: #5d5db1; 76 | } 77 | 78 | .hljs { 79 | display: block; 80 | background: #ebf8ff; 81 | color: #516d7b; 82 | padding: 0.5em; 83 | } 84 | 85 | .coffeescript .javascript, 86 | .javascript .xml, 87 | .tex .hljs-formula, 88 | .xml .javascript, 89 | .xml .vbscript, 90 | .xml .css, 91 | .xml .hljs-cdata { 92 | opacity: 0.5; 93 | } 94 | -------------------------------------------------------------------------------- /docs-support/styles/atelier-seaside.dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Seaside Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside/) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | /* https://github.com/jmblog/color-themes-for-highlightjs */ 5 | 6 | /* Atelier Seaside Dark Comment */ 7 | .hljs-comment, 8 | .hljs-title { 9 | color: #809980; 10 | } 11 | 12 | /* Atelier Seaside Dark Red */ 13 | .hljs-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-regexp, 17 | .ruby .hljs-constant, 18 | .xml .hljs-tag .hljs-title, 19 | .xml .hljs-pi, 20 | .xml .hljs-doctype, 21 | .html .hljs-doctype, 22 | .css .hljs-id, 23 | .css .hljs-class, 24 | .css .hljs-pseudo { 25 | color: #e6193c; 26 | } 27 | 28 | /* Atelier Seaside Dark Orange */ 29 | .hljs-number, 30 | .hljs-preprocessor, 31 | .hljs-pragma, 32 | .hljs-built_in, 33 | .hljs-literal, 34 | .hljs-params, 35 | .hljs-constant { 36 | color: #87711d; 37 | } 38 | 39 | /* Atelier Seaside Dark Yellow */ 40 | .hljs-ruby .hljs-class .hljs-title, 41 | .css .hljs-rules .hljs-attribute { 42 | color: #c3c322; 43 | } 44 | 45 | /* Atelier Seaside Dark Green */ 46 | .hljs-string, 47 | .hljs-value, 48 | .hljs-inheritance, 49 | .hljs-header, 50 | .ruby .hljs-symbol, 51 | .xml .hljs-cdata { 52 | color: #29a329; 53 | } 54 | 55 | /* Atelier Seaside Dark Aqua */ 56 | .css .hljs-hexcolor { 57 | color: #1999b3; 58 | } 59 | 60 | /* Atelier Seaside Dark Blue */ 61 | .hljs-function, 62 | .python .hljs-decorator, 63 | .python .hljs-title, 64 | .ruby .hljs-function .hljs-title, 65 | .ruby .hljs-title .hljs-keyword, 66 | .perl .hljs-sub, 67 | .javascript .hljs-title, 68 | .coffeescript .hljs-title { 69 | color: #3d62f5; 70 | } 71 | 72 | /* Atelier Seaside Dark Purple */ 73 | .hljs-keyword, 74 | .javascript .hljs-function { 75 | color: #ad2bee; 76 | } 77 | 78 | .hljs { 79 | display: block; 80 | background: #242924; 81 | color: #8ca68c; 82 | padding: 0.5em; 83 | } 84 | 85 | .coffeescript .javascript, 86 | .javascript .xml, 87 | .tex .hljs-formula, 88 | .xml .javascript, 89 | .xml .vbscript, 90 | .xml .css, 91 | .xml .hljs-cdata { 92 | opacity: 0.5; 93 | } 94 | -------------------------------------------------------------------------------- /docs-support/styles/atelier-seaside.light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Seaside Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside/) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | /* https://github.com/jmblog/color-themes-for-highlightjs */ 5 | 6 | /* Atelier Seaside Light Comment */ 7 | .hljs-comment, 8 | .hljs-title { 9 | color: #687d68; 10 | } 11 | 12 | /* Atelier Seaside Light Red */ 13 | .hljs-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-regexp, 17 | .ruby .hljs-constant, 18 | .xml .hljs-tag .hljs-title, 19 | .xml .hljs-pi, 20 | .xml .hljs-doctype, 21 | .html .hljs-doctype, 22 | .css .hljs-id, 23 | .css .hljs-class, 24 | .css .hljs-pseudo { 25 | color: #e6193c; 26 | } 27 | 28 | /* Atelier Seaside Light Orange */ 29 | .hljs-number, 30 | .hljs-preprocessor, 31 | .hljs-pragma, 32 | .hljs-built_in, 33 | .hljs-literal, 34 | .hljs-params, 35 | .hljs-constant { 36 | color: #87711d; 37 | } 38 | 39 | /* Atelier Seaside Light Yellow */ 40 | .hljs-ruby .hljs-class .hljs-title, 41 | .css .hljs-rules .hljs-attribute { 42 | color: #c3c322; 43 | } 44 | 45 | /* Atelier Seaside Light Green */ 46 | .hljs-string, 47 | .hljs-value, 48 | .hljs-inheritance, 49 | .hljs-header, 50 | .ruby .hljs-symbol, 51 | .xml .hljs-cdata { 52 | color: #29a329; 53 | } 54 | 55 | /* Atelier Seaside Light Aqua */ 56 | .css .hljs-hexcolor { 57 | color: #1999b3; 58 | } 59 | 60 | /* Atelier Seaside Light Blue */ 61 | .hljs-function, 62 | .python .hljs-decorator, 63 | .python .hljs-title, 64 | .ruby .hljs-function .hljs-title, 65 | .ruby .hljs-title .hljs-keyword, 66 | .perl .hljs-sub, 67 | .javascript .hljs-title, 68 | .coffeescript .hljs-title { 69 | color: #3d62f5; 70 | } 71 | 72 | /* Atelier Seaside Light Purple */ 73 | .hljs-keyword, 74 | .javascript .hljs-function { 75 | color: #ad2bee; 76 | } 77 | 78 | .hljs { 79 | display: block; 80 | background: #f0fff0; 81 | color: #5e6e5e; 82 | padding: 0.5em; 83 | } 84 | 85 | .coffeescript .javascript, 86 | .javascript .xml, 87 | .tex .hljs-formula, 88 | .xml .javascript, 89 | .xml .vbscript, 90 | .xml .css, 91 | .xml .hljs-cdata { 92 | opacity: 0.5; 93 | } 94 | -------------------------------------------------------------------------------- /docs-support/styles/brown_paper.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Brown Paper style from goldblog.com.ua (c) Zaripov Yura 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; padding: 0.5em; 9 | background:#b7a68e url(./brown_papersq.png); 10 | } 11 | 12 | .hljs-keyword, 13 | .hljs-literal, 14 | .hljs-change, 15 | .hljs-winutils, 16 | .hljs-flow, 17 | .lisp .hljs-title, 18 | .clojure .hljs-built_in, 19 | .nginx .hljs-title, 20 | .tex .hljs-special, 21 | .hljs-request, 22 | .hljs-status { 23 | color:#005599; 24 | font-weight:bold; 25 | } 26 | 27 | .hljs, 28 | .hljs-subst, 29 | .hljs-tag .hljs-keyword { 30 | color: #363C69; 31 | } 32 | 33 | .hljs-string, 34 | .hljs-title, 35 | .haskell .hljs-type, 36 | .hljs-tag .hljs-value, 37 | .css .hljs-rules .hljs-value, 38 | .hljs-preprocessor, 39 | .hljs-pragma, 40 | .ruby .hljs-symbol, 41 | .ruby .hljs-symbol .hljs-string, 42 | .ruby .hljs-class .hljs-parent, 43 | .hljs-built_in, 44 | .sql .hljs-aggregate, 45 | .django .hljs-template_tag, 46 | .django .hljs-variable, 47 | .smalltalk .hljs-class, 48 | .hljs-javadoc, 49 | .ruby .hljs-string, 50 | .django .hljs-filter .hljs-argument, 51 | .smalltalk .hljs-localvars, 52 | .smalltalk .hljs-array, 53 | .hljs-attr_selector, 54 | .hljs-pseudo, 55 | .hljs-addition, 56 | .hljs-stream, 57 | .hljs-envvar, 58 | .apache .hljs-tag, 59 | .apache .hljs-cbracket, 60 | .tex .hljs-number { 61 | color: #2C009F; 62 | } 63 | 64 | .hljs-comment, 65 | .java .hljs-annotation, 66 | .python .hljs-decorator, 67 | .hljs-template_comment, 68 | .hljs-pi, 69 | .hljs-doctype, 70 | .hljs-deletion, 71 | .hljs-shebang, 72 | .apache .hljs-sqbracket, 73 | .nginx .hljs-built_in, 74 | .tex .hljs-formula { 75 | color: #802022; 76 | } 77 | 78 | .hljs-keyword, 79 | .hljs-literal, 80 | .css .hljs-id, 81 | .hljs-phpdoc, 82 | .hljs-title, 83 | .haskell .hljs-type, 84 | .vbscript .hljs-built_in, 85 | .sql .hljs-aggregate, 86 | .rsl .hljs-built_in, 87 | .smalltalk .hljs-class, 88 | .diff .hljs-header, 89 | .hljs-chunk, 90 | .hljs-winutils, 91 | .bash .hljs-variable, 92 | .apache .hljs-tag, 93 | .tex .hljs-command { 94 | font-weight: bold; 95 | } 96 | 97 | .coffeescript .javascript, 98 | .javascript .xml, 99 | .tex .hljs-formula, 100 | .xml .javascript, 101 | .xml .vbscript, 102 | .xml .css, 103 | .xml .hljs-cdata { 104 | opacity: 0.8; 105 | } 106 | -------------------------------------------------------------------------------- /docs-support/styles/brown_papersq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeNeSuisPasDave/MarkdownTools/598e6ba31b5e2f7885c1fdab2f2c888ce518eee2/docs-support/styles/brown_papersq.png -------------------------------------------------------------------------------- /docs-support/styles/dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Dark style from softwaremaniacs.org (c) Ivan Sagalaev 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; padding: 0.5em; 9 | background: #444; 10 | } 11 | 12 | .hljs-keyword, 13 | .hljs-literal, 14 | .hljs-change, 15 | .hljs-winutils, 16 | .hljs-flow, 17 | .lisp .hljs-title, 18 | .clojure .hljs-built_in, 19 | .nginx .hljs-title, 20 | .tex .hljs-special { 21 | color: white; 22 | } 23 | 24 | .hljs, 25 | .hljs-subst { 26 | color: #DDD; 27 | } 28 | 29 | .hljs-string, 30 | .hljs-title, 31 | .haskell .hljs-type, 32 | .ini .hljs-title, 33 | .hljs-tag .hljs-value, 34 | .css .hljs-rules .hljs-value, 35 | .hljs-preprocessor, 36 | .hljs-pragma, 37 | .ruby .hljs-symbol, 38 | .ruby .hljs-symbol .hljs-string, 39 | .ruby .hljs-class .hljs-parent, 40 | .hljs-built_in, 41 | .sql .hljs-aggregate, 42 | .django .hljs-template_tag, 43 | .django .hljs-variable, 44 | .smalltalk .hljs-class, 45 | .hljs-javadoc, 46 | .ruby .hljs-string, 47 | .django .hljs-filter .hljs-argument, 48 | .smalltalk .hljs-localvars, 49 | .smalltalk .hljs-array, 50 | .hljs-attr_selector, 51 | .hljs-pseudo, 52 | .hljs-addition, 53 | .hljs-stream, 54 | .hljs-envvar, 55 | .apache .hljs-tag, 56 | .apache .hljs-cbracket, 57 | .tex .hljs-command, 58 | .hljs-prompt, 59 | .coffeescript .hljs-attribute { 60 | color: #D88; 61 | } 62 | 63 | .hljs-comment, 64 | .java .hljs-annotation, 65 | .python .hljs-decorator, 66 | .hljs-template_comment, 67 | .hljs-pi, 68 | .hljs-doctype, 69 | .hljs-deletion, 70 | .hljs-shebang, 71 | .apache .hljs-sqbracket, 72 | .tex .hljs-formula { 73 | color: #777; 74 | } 75 | 76 | .hljs-keyword, 77 | .hljs-literal, 78 | .hljs-title, 79 | .css .hljs-id, 80 | .hljs-phpdoc, 81 | .haskell .hljs-type, 82 | .vbscript .hljs-built_in, 83 | .sql .hljs-aggregate, 84 | .rsl .hljs-built_in, 85 | .smalltalk .hljs-class, 86 | .diff .hljs-header, 87 | .hljs-chunk, 88 | .hljs-winutils, 89 | .bash .hljs-variable, 90 | .apache .hljs-tag, 91 | .tex .hljs-special, 92 | .hljs-request, 93 | .hljs-status { 94 | font-weight: bold; 95 | } 96 | 97 | .coffeescript .javascript, 98 | .javascript .xml, 99 | .tex .hljs-formula, 100 | .xml .javascript, 101 | .xml .vbscript, 102 | .xml .css, 103 | .xml .hljs-cdata { 104 | opacity: 0.5; 105 | } 106 | -------------------------------------------------------------------------------- /docs-support/styles/default.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Original style from softwaremaniacs.org (c) Ivan Sagalaev 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; padding: 0.5em; 9 | background: #F0F0F0; 10 | } 11 | 12 | .hljs, 13 | .hljs-subst, 14 | .hljs-tag .hljs-title, 15 | .lisp .hljs-title, 16 | .clojure .hljs-built_in, 17 | .nginx .hljs-title { 18 | color: black; 19 | } 20 | 21 | .hljs-string, 22 | .hljs-title, 23 | .hljs-constant, 24 | .hljs-parent, 25 | .hljs-tag .hljs-value, 26 | .hljs-rules .hljs-value, 27 | .hljs-rules .hljs-value .hljs-number, 28 | .hljs-preprocessor, 29 | .hljs-pragma, 30 | .haml .hljs-symbol, 31 | .ruby .hljs-symbol, 32 | .ruby .hljs-symbol .hljs-string, 33 | .hljs-aggregate, 34 | .hljs-template_tag, 35 | .django .hljs-variable, 36 | .smalltalk .hljs-class, 37 | .hljs-addition, 38 | .hljs-flow, 39 | .hljs-stream, 40 | .bash .hljs-variable, 41 | .apache .hljs-tag, 42 | .apache .hljs-cbracket, 43 | .tex .hljs-command, 44 | .tex .hljs-special, 45 | .erlang_repl .hljs-function_or_atom, 46 | .asciidoc .hljs-header, 47 | .markdown .hljs-header, 48 | .coffeescript .hljs-attribute { 49 | color: #800; 50 | } 51 | 52 | .smartquote, 53 | .hljs-comment, 54 | .hljs-annotation, 55 | .hljs-template_comment, 56 | .diff .hljs-header, 57 | .hljs-chunk, 58 | .asciidoc .hljs-blockquote, 59 | .markdown .hljs-blockquote { 60 | color: #888; 61 | } 62 | 63 | .hljs-number, 64 | .hljs-date, 65 | .hljs-regexp, 66 | .hljs-literal, 67 | .hljs-hexcolor, 68 | .smalltalk .hljs-symbol, 69 | .smalltalk .hljs-char, 70 | .go .hljs-constant, 71 | .hljs-change, 72 | .lasso .hljs-variable, 73 | .makefile .hljs-variable, 74 | .asciidoc .hljs-bullet, 75 | .markdown .hljs-bullet, 76 | .asciidoc .hljs-link_url, 77 | .markdown .hljs-link_url { 78 | color: #080; 79 | } 80 | 81 | .hljs-label, 82 | .hljs-javadoc, 83 | .ruby .hljs-string, 84 | .hljs-decorator, 85 | .hljs-filter .hljs-argument, 86 | .hljs-localvars, 87 | .hljs-array, 88 | .hljs-attr_selector, 89 | .hljs-important, 90 | .hljs-pseudo, 91 | .hljs-pi, 92 | .haml .hljs-bullet, 93 | .hljs-doctype, 94 | .hljs-deletion, 95 | .hljs-envvar, 96 | .hljs-shebang, 97 | .apache .hljs-sqbracket, 98 | .nginx .hljs-built_in, 99 | .tex .hljs-formula, 100 | .erlang_repl .hljs-reserved, 101 | .hljs-prompt, 102 | .asciidoc .hljs-link_label, 103 | .markdown .hljs-link_label, 104 | .vhdl .hljs-attribute, 105 | .clojure .hljs-attribute, 106 | .asciidoc .hljs-attribute, 107 | .lasso .hljs-attribute, 108 | .coffeescript .hljs-property, 109 | .hljs-phony { 110 | color: #88F 111 | } 112 | 113 | .hljs-keyword, 114 | .hljs-id, 115 | .hljs-title, 116 | .hljs-built_in, 117 | .hljs-aggregate, 118 | .css .hljs-tag, 119 | .hljs-javadoctag, 120 | .hljs-phpdoc, 121 | .hljs-yardoctag, 122 | .smalltalk .hljs-class, 123 | .hljs-winutils, 124 | .bash .hljs-variable, 125 | .apache .hljs-tag, 126 | .go .hljs-typename, 127 | .tex .hljs-command, 128 | .asciidoc .hljs-strong, 129 | .markdown .hljs-strong, 130 | .hljs-request, 131 | .hljs-status { 132 | font-weight: bold; 133 | } 134 | 135 | .asciidoc .hljs-emphasis, 136 | .markdown .hljs-emphasis { 137 | font-style: italic; 138 | } 139 | 140 | .nginx .hljs-built_in { 141 | font-weight: normal; 142 | } 143 | 144 | .coffeescript .javascript, 145 | .javascript .xml, 146 | .lasso .markup, 147 | .tex .hljs-formula, 148 | .xml .javascript, 149 | .xml .vbscript, 150 | .xml .css, 151 | .xml .hljs-cdata { 152 | opacity: 0.5; 153 | } 154 | -------------------------------------------------------------------------------- /docs-support/styles/docco.css: -------------------------------------------------------------------------------- 1 | /* 2 | Docco style used in http://jashkenas.github.com/docco/ converted by Simon Madine (@thingsinjars) 3 | */ 4 | 5 | .hljs { 6 | display: block; padding: 0.5em; 7 | color: #000; 8 | background: #f8f8ff 9 | } 10 | 11 | .hljs-comment, 12 | .hljs-template_comment, 13 | .diff .hljs-header, 14 | .hljs-javadoc { 15 | color: #408080; 16 | font-style: italic 17 | } 18 | 19 | .hljs-keyword, 20 | .assignment, 21 | .hljs-literal, 22 | .css .rule .hljs-keyword, 23 | .hljs-winutils, 24 | .javascript .hljs-title, 25 | .lisp .hljs-title, 26 | .hljs-subst { 27 | color: #954121; 28 | } 29 | 30 | .hljs-number, 31 | .hljs-hexcolor { 32 | color: #40a070 33 | } 34 | 35 | .hljs-string, 36 | .hljs-tag .hljs-value, 37 | .hljs-phpdoc, 38 | .tex .hljs-formula { 39 | color: #219161; 40 | } 41 | 42 | .hljs-title, 43 | .hljs-id { 44 | color: #19469D; 45 | } 46 | .hljs-params { 47 | color: #00F; 48 | } 49 | 50 | .javascript .hljs-title, 51 | .lisp .hljs-title, 52 | .hljs-subst { 53 | font-weight: normal 54 | } 55 | 56 | .hljs-class .hljs-title, 57 | .haskell .hljs-label, 58 | .tex .hljs-command { 59 | color: #458; 60 | font-weight: bold 61 | } 62 | 63 | .hljs-tag, 64 | .hljs-tag .hljs-title, 65 | .hljs-rules .hljs-property, 66 | .django .hljs-tag .hljs-keyword { 67 | color: #000080; 68 | font-weight: normal 69 | } 70 | 71 | .hljs-attribute, 72 | .hljs-variable, 73 | .instancevar, 74 | .lisp .hljs-body { 75 | color: #008080 76 | } 77 | 78 | .hljs-regexp { 79 | color: #B68 80 | } 81 | 82 | .hljs-class { 83 | color: #458; 84 | font-weight: bold 85 | } 86 | 87 | .hljs-symbol, 88 | .ruby .hljs-symbol .hljs-string, 89 | .ruby .hljs-symbol .hljs-keyword, 90 | .ruby .hljs-symbol .keymethods, 91 | .lisp .hljs-keyword, 92 | .tex .hljs-special, 93 | .input_number { 94 | color: #990073 95 | } 96 | 97 | .builtin, 98 | .constructor, 99 | .hljs-built_in, 100 | .lisp .hljs-title { 101 | color: #0086b3 102 | } 103 | 104 | .hljs-preprocessor, 105 | .hljs-pragma, 106 | .hljs-pi, 107 | .hljs-doctype, 108 | .hljs-shebang, 109 | .hljs-cdata { 110 | color: #999; 111 | font-weight: bold 112 | } 113 | 114 | .hljs-deletion { 115 | background: #fdd 116 | } 117 | 118 | .hljs-addition { 119 | background: #dfd 120 | } 121 | 122 | .diff .hljs-change { 123 | background: #0086b3 124 | } 125 | 126 | .hljs-chunk { 127 | color: #aaa 128 | } 129 | 130 | .tex .hljs-formula { 131 | opacity: 0.5; 132 | } 133 | -------------------------------------------------------------------------------- /docs-support/styles/far.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | FAR Style (c) MajestiC 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; padding: 0.5em; 9 | background: #000080; 10 | } 11 | 12 | .hljs, 13 | .hljs-subst { 14 | color: #0FF; 15 | } 16 | 17 | .hljs-string, 18 | .ruby .hljs-string, 19 | .haskell .hljs-type, 20 | .hljs-tag .hljs-value, 21 | .css .hljs-rules .hljs-value, 22 | .css .hljs-rules .hljs-value .hljs-number, 23 | .hljs-preprocessor, 24 | .hljs-pragma, 25 | .ruby .hljs-symbol, 26 | .ruby .hljs-symbol .hljs-string, 27 | .hljs-built_in, 28 | .sql .hljs-aggregate, 29 | .django .hljs-template_tag, 30 | .django .hljs-variable, 31 | .smalltalk .hljs-class, 32 | .hljs-addition, 33 | .apache .hljs-tag, 34 | .apache .hljs-cbracket, 35 | .tex .hljs-command, 36 | .clojure .hljs-title, 37 | .coffeescript .hljs-attribute { 38 | color: #FF0; 39 | } 40 | 41 | .hljs-keyword, 42 | .css .hljs-id, 43 | .hljs-title, 44 | .haskell .hljs-type, 45 | .vbscript .hljs-built_in, 46 | .sql .hljs-aggregate, 47 | .rsl .hljs-built_in, 48 | .smalltalk .hljs-class, 49 | .xml .hljs-tag .hljs-title, 50 | .hljs-winutils, 51 | .hljs-flow, 52 | .hljs-change, 53 | .hljs-envvar, 54 | .bash .hljs-variable, 55 | .tex .hljs-special, 56 | .clojure .hljs-built_in { 57 | color: #FFF; 58 | } 59 | 60 | .hljs-comment, 61 | .hljs-phpdoc, 62 | .hljs-javadoc, 63 | .java .hljs-annotation, 64 | .hljs-template_comment, 65 | .hljs-deletion, 66 | .apache .hljs-sqbracket, 67 | .tex .hljs-formula { 68 | color: #888; 69 | } 70 | 71 | .hljs-number, 72 | .hljs-date, 73 | .hljs-regexp, 74 | .hljs-literal, 75 | .smalltalk .hljs-symbol, 76 | .smalltalk .hljs-char, 77 | .clojure .hljs-attribute { 78 | color: #0F0; 79 | } 80 | 81 | .python .hljs-decorator, 82 | .django .hljs-filter .hljs-argument, 83 | .smalltalk .hljs-localvars, 84 | .smalltalk .hljs-array, 85 | .hljs-attr_selector, 86 | .hljs-pseudo, 87 | .xml .hljs-pi, 88 | .diff .hljs-header, 89 | .hljs-chunk, 90 | .hljs-shebang, 91 | .nginx .hljs-built_in, 92 | .hljs-prompt { 93 | color: #008080; 94 | } 95 | 96 | .hljs-keyword, 97 | .css .hljs-id, 98 | .hljs-title, 99 | .haskell .hljs-type, 100 | .vbscript .hljs-built_in, 101 | .sql .hljs-aggregate, 102 | .rsl .hljs-built_in, 103 | .smalltalk .hljs-class, 104 | .hljs-winutils, 105 | .hljs-flow, 106 | .apache .hljs-tag, 107 | .nginx .hljs-built_in, 108 | .tex .hljs-command, 109 | .tex .hljs-special, 110 | .hljs-request, 111 | .hljs-status { 112 | font-weight: bold; 113 | } 114 | -------------------------------------------------------------------------------- /docs-support/styles/foundation.css: -------------------------------------------------------------------------------- 1 | /* 2 | Description: Foundation 4 docs style for highlight.js 3 | Author: Dan Allen 4 | Website: http://foundation.zurb.com/docs/ 5 | Version: 1.0 6 | Date: 2013-04-02 7 | */ 8 | 9 | .hljs { 10 | display: block; padding: 0.5em; 11 | background: #eee; 12 | } 13 | 14 | .hljs-header, 15 | .hljs-decorator, 16 | .hljs-annotation { 17 | color: #000077; 18 | } 19 | 20 | .hljs-horizontal_rule, 21 | .hljs-link_url, 22 | .hljs-emphasis, 23 | .hljs-attribute { 24 | color: #070; 25 | } 26 | 27 | .hljs-emphasis { 28 | font-style: italic; 29 | } 30 | 31 | .hljs-link_label, 32 | .hljs-strong, 33 | .hljs-value, 34 | .hljs-string, 35 | .scss .hljs-value .hljs-string { 36 | color: #d14; 37 | } 38 | 39 | .hljs-strong { 40 | font-weight: bold; 41 | } 42 | 43 | .hljs-blockquote, 44 | .hljs-comment { 45 | color: #998; 46 | font-style: italic; 47 | } 48 | 49 | .asciidoc .hljs-title, 50 | .hljs-function .hljs-title { 51 | color: #900; 52 | } 53 | 54 | .hljs-class { 55 | color: #458; 56 | } 57 | 58 | .hljs-id, 59 | .hljs-pseudo, 60 | .hljs-constant, 61 | .hljs-hexcolor { 62 | color: teal; 63 | } 64 | 65 | .hljs-variable { 66 | color: #336699; 67 | } 68 | 69 | .hljs-bullet, 70 | .hljs-javadoc { 71 | color: #997700; 72 | } 73 | 74 | .hljs-pi, 75 | .hljs-doctype { 76 | color: #3344bb; 77 | } 78 | 79 | .hljs-code, 80 | .hljs-number { 81 | color: #099; 82 | } 83 | 84 | .hljs-important { 85 | color: #f00; 86 | } 87 | 88 | .smartquote, 89 | .hljs-label { 90 | color: #970; 91 | } 92 | 93 | .hljs-preprocessor, 94 | .hljs-pragma { 95 | color: #579; 96 | } 97 | 98 | .hljs-reserved, 99 | .hljs-keyword, 100 | .scss .hljs-value { 101 | color: #000; 102 | } 103 | 104 | .hljs-regexp { 105 | background-color: #fff0ff; 106 | color: #880088; 107 | } 108 | 109 | .hljs-symbol { 110 | color: #990073; 111 | } 112 | 113 | .hljs-symbol .hljs-string { 114 | color: #a60; 115 | } 116 | 117 | .hljs-tag { 118 | color: #007700; 119 | } 120 | 121 | .hljs-at_rule, 122 | .hljs-at_rule .hljs-keyword { 123 | color: #088; 124 | } 125 | 126 | .hljs-at_rule .hljs-preprocessor { 127 | color: #808; 128 | } 129 | 130 | .scss .hljs-tag, 131 | .scss .hljs-attribute { 132 | color: #339; 133 | } 134 | -------------------------------------------------------------------------------- /docs-support/styles/github.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | github.com style (c) Vasily Polovnyov 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; padding: 0.5em; 9 | color: #333; 10 | background: #f8f8f8 11 | } 12 | 13 | .hljs-comment, 14 | .hljs-template_comment, 15 | .diff .hljs-header, 16 | .hljs-javadoc { 17 | color: #998; 18 | font-style: italic 19 | } 20 | 21 | .hljs-keyword, 22 | .css .rule .hljs-keyword, 23 | .hljs-winutils, 24 | .javascript .hljs-title, 25 | .nginx .hljs-title, 26 | .hljs-subst, 27 | .hljs-request, 28 | .hljs-status { 29 | color: #333; 30 | font-weight: bold 31 | } 32 | 33 | .hljs-number, 34 | .hljs-hexcolor, 35 | .ruby .hljs-constant { 36 | color: #099; 37 | } 38 | 39 | .hljs-string, 40 | .hljs-tag .hljs-value, 41 | .hljs-phpdoc, 42 | .tex .hljs-formula { 43 | color: #d14 44 | } 45 | 46 | .hljs-title, 47 | .hljs-id, 48 | .coffeescript .hljs-params, 49 | .scss .hljs-preprocessor { 50 | color: #900; 51 | font-weight: bold 52 | } 53 | 54 | .javascript .hljs-title, 55 | .lisp .hljs-title, 56 | .clojure .hljs-title, 57 | .hljs-subst { 58 | font-weight: normal 59 | } 60 | 61 | .hljs-class .hljs-title, 62 | .haskell .hljs-type, 63 | .vhdl .hljs-literal, 64 | .tex .hljs-command { 65 | color: #458; 66 | font-weight: bold 67 | } 68 | 69 | .hljs-tag, 70 | .hljs-tag .hljs-title, 71 | .hljs-rules .hljs-property, 72 | .django .hljs-tag .hljs-keyword { 73 | color: #000080; 74 | font-weight: normal 75 | } 76 | 77 | .hljs-attribute, 78 | .hljs-variable, 79 | .lisp .hljs-body { 80 | color: #008080 81 | } 82 | 83 | .hljs-regexp { 84 | color: #009926 85 | } 86 | 87 | .hljs-symbol, 88 | .ruby .hljs-symbol .hljs-string, 89 | .lisp .hljs-keyword, 90 | .tex .hljs-special, 91 | .hljs-prompt { 92 | color: #990073 93 | } 94 | 95 | .hljs-built_in, 96 | .lisp .hljs-title, 97 | .clojure .hljs-built_in { 98 | color: #0086b3 99 | } 100 | 101 | .hljs-preprocessor, 102 | .hljs-pragma, 103 | .hljs-pi, 104 | .hljs-doctype, 105 | .hljs-shebang, 106 | .hljs-cdata { 107 | color: #999; 108 | font-weight: bold 109 | } 110 | 111 | .hljs-deletion { 112 | background: #fdd 113 | } 114 | 115 | .hljs-addition { 116 | background: #dfd 117 | } 118 | 119 | .diff .hljs-change { 120 | background: #0086b3 121 | } 122 | 123 | .hljs-chunk { 124 | color: #aaa 125 | } 126 | -------------------------------------------------------------------------------- /docs-support/styles/googlecode.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Google Code style (c) Aahan Krish 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; padding: 0.5em; 9 | background: white; color: black; 10 | } 11 | 12 | .hljs-comment, 13 | .hljs-template_comment, 14 | .hljs-javadoc, 15 | .hljs-comment * { 16 | color: #800; 17 | } 18 | 19 | .hljs-keyword, 20 | .method, 21 | .hljs-list .hljs-title, 22 | .clojure .hljs-built_in, 23 | .nginx .hljs-title, 24 | .hljs-tag .hljs-title, 25 | .setting .hljs-value, 26 | .hljs-winutils, 27 | .tex .hljs-command, 28 | .http .hljs-title, 29 | .hljs-request, 30 | .hljs-status { 31 | color: #008; 32 | } 33 | 34 | .hljs-envvar, 35 | .tex .hljs-special { 36 | color: #660; 37 | } 38 | 39 | .hljs-string, 40 | .hljs-tag .hljs-value, 41 | .hljs-cdata, 42 | .hljs-filter .hljs-argument, 43 | .hljs-attr_selector, 44 | .apache .hljs-cbracket, 45 | .hljs-date, 46 | .hljs-regexp, 47 | .coffeescript .hljs-attribute { 48 | color: #080; 49 | } 50 | 51 | .hljs-sub .hljs-identifier, 52 | .hljs-pi, 53 | .hljs-tag, 54 | .hljs-tag .hljs-keyword, 55 | .hljs-decorator, 56 | .ini .hljs-title, 57 | .hljs-shebang, 58 | .hljs-prompt, 59 | .hljs-hexcolor, 60 | .hljs-rules .hljs-value, 61 | .css .hljs-value .hljs-number, 62 | .hljs-literal, 63 | .hljs-symbol, 64 | .ruby .hljs-symbol .hljs-string, 65 | .hljs-number, 66 | .css .hljs-function, 67 | .clojure .hljs-attribute { 68 | color: #066; 69 | } 70 | 71 | .hljs-class .hljs-title, 72 | .haskell .hljs-type, 73 | .smalltalk .hljs-class, 74 | .hljs-javadoctag, 75 | .hljs-yardoctag, 76 | .hljs-phpdoc, 77 | .hljs-typename, 78 | .hljs-tag .hljs-attribute, 79 | .hljs-doctype, 80 | .hljs-class .hljs-id, 81 | .hljs-built_in, 82 | .setting, 83 | .hljs-params, 84 | .hljs-variable, 85 | .clojure .hljs-title { 86 | color: #606; 87 | } 88 | 89 | .css .hljs-tag, 90 | .hljs-rules .hljs-property, 91 | .hljs-pseudo, 92 | .hljs-subst { 93 | color: #000; 94 | } 95 | 96 | .css .hljs-class, 97 | .css .hljs-id { 98 | color: #9B703F; 99 | } 100 | 101 | .hljs-value .hljs-important { 102 | color: #ff7700; 103 | font-weight: bold; 104 | } 105 | 106 | .hljs-rules .hljs-keyword { 107 | color: #C5AF75; 108 | } 109 | 110 | .hljs-annotation, 111 | .apache .hljs-sqbracket, 112 | .nginx .hljs-built_in { 113 | color: #9B859D; 114 | } 115 | 116 | .hljs-preprocessor, 117 | .hljs-preprocessor *, 118 | .hljs-pragma { 119 | color: #444; 120 | } 121 | 122 | .tex .hljs-formula { 123 | background-color: #EEE; 124 | font-style: italic; 125 | } 126 | 127 | .diff .hljs-header, 128 | .hljs-chunk { 129 | color: #808080; 130 | font-weight: bold; 131 | } 132 | 133 | .diff .hljs-change { 134 | background-color: #BCCFF9; 135 | } 136 | 137 | .hljs-addition { 138 | background-color: #BAEEBA; 139 | } 140 | 141 | .hljs-deletion { 142 | background-color: #FFC8BD; 143 | } 144 | 145 | .hljs-comment .hljs-yardoctag { 146 | font-weight: bold; 147 | } 148 | -------------------------------------------------------------------------------- /docs-support/styles/idea.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Intellij Idea-like styling (c) Vasily Polovnyov 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; padding: 0.5em; 9 | color: #000; 10 | background: #fff; 11 | } 12 | 13 | .hljs-subst, 14 | .hljs-title { 15 | font-weight: normal; 16 | color: #000; 17 | } 18 | 19 | .hljs-comment, 20 | .hljs-template_comment, 21 | .hljs-javadoc, 22 | .diff .hljs-header { 23 | color: #808080; 24 | font-style: italic; 25 | } 26 | 27 | .hljs-annotation, 28 | .hljs-decorator, 29 | .hljs-preprocessor, 30 | .hljs-pragma, 31 | .hljs-doctype, 32 | .hljs-pi, 33 | .hljs-chunk, 34 | .hljs-shebang, 35 | .apache .hljs-cbracket, 36 | .hljs-prompt, 37 | .http .hljs-title { 38 | color: #808000; 39 | } 40 | 41 | .hljs-tag, 42 | .hljs-pi { 43 | background: #efefef; 44 | } 45 | 46 | .hljs-tag .hljs-title, 47 | .hljs-id, 48 | .hljs-attr_selector, 49 | .hljs-pseudo, 50 | .hljs-literal, 51 | .hljs-keyword, 52 | .hljs-hexcolor, 53 | .css .hljs-function, 54 | .ini .hljs-title, 55 | .css .hljs-class, 56 | .hljs-list .hljs-title, 57 | .clojure .hljs-title, 58 | .nginx .hljs-title, 59 | .tex .hljs-command, 60 | .hljs-request, 61 | .hljs-status { 62 | font-weight: bold; 63 | color: #000080; 64 | } 65 | 66 | .hljs-attribute, 67 | .hljs-rules .hljs-keyword, 68 | .hljs-number, 69 | .hljs-date, 70 | .hljs-regexp, 71 | .tex .hljs-special { 72 | font-weight: bold; 73 | color: #0000ff; 74 | } 75 | 76 | .hljs-number, 77 | .hljs-regexp { 78 | font-weight: normal; 79 | } 80 | 81 | .hljs-string, 82 | .hljs-value, 83 | .hljs-filter .hljs-argument, 84 | .css .hljs-function .hljs-params, 85 | .apache .hljs-tag { 86 | color: #008000; 87 | font-weight: bold; 88 | } 89 | 90 | .hljs-symbol, 91 | .ruby .hljs-symbol .hljs-string, 92 | .hljs-char, 93 | .tex .hljs-formula { 94 | color: #000; 95 | background: #d0eded; 96 | font-style: italic; 97 | } 98 | 99 | .hljs-phpdoc, 100 | .hljs-yardoctag, 101 | .hljs-javadoctag { 102 | text-decoration: underline; 103 | } 104 | 105 | .hljs-variable, 106 | .hljs-envvar, 107 | .apache .hljs-sqbracket, 108 | .nginx .hljs-built_in { 109 | color: #660e7a; 110 | } 111 | 112 | .hljs-addition { 113 | background: #baeeba; 114 | } 115 | 116 | .hljs-deletion { 117 | background: #ffc8bd; 118 | } 119 | 120 | .diff .hljs-change { 121 | background: #bccff9; 122 | } 123 | -------------------------------------------------------------------------------- /docs-support/styles/ir_black.css: -------------------------------------------------------------------------------- 1 | /* 2 | IR_Black style (c) Vasily Mikhailitchenko 3 | */ 4 | 5 | .hljs { 6 | display: block; padding: 0.5em; 7 | background: #000; color: #f8f8f8; 8 | } 9 | 10 | .hljs-shebang, 11 | .hljs-comment, 12 | .hljs-template_comment, 13 | .hljs-javadoc { 14 | color: #7c7c7c; 15 | } 16 | 17 | .hljs-keyword, 18 | .hljs-tag, 19 | .tex .hljs-command, 20 | .hljs-request, 21 | .hljs-status, 22 | .clojure .hljs-attribute { 23 | color: #96CBFE; 24 | } 25 | 26 | .hljs-sub .hljs-keyword, 27 | .method, 28 | .hljs-list .hljs-title, 29 | .nginx .hljs-title { 30 | color: #FFFFB6; 31 | } 32 | 33 | .hljs-string, 34 | .hljs-tag .hljs-value, 35 | .hljs-cdata, 36 | .hljs-filter .hljs-argument, 37 | .hljs-attr_selector, 38 | .apache .hljs-cbracket, 39 | .hljs-date, 40 | .coffeescript .hljs-attribute { 41 | color: #A8FF60; 42 | } 43 | 44 | .hljs-subst { 45 | color: #DAEFA3; 46 | } 47 | 48 | .hljs-regexp { 49 | color: #E9C062; 50 | } 51 | 52 | .hljs-title, 53 | .hljs-sub .hljs-identifier, 54 | .hljs-pi, 55 | .hljs-decorator, 56 | .tex .hljs-special, 57 | .haskell .hljs-type, 58 | .hljs-constant, 59 | .smalltalk .hljs-class, 60 | .hljs-javadoctag, 61 | .hljs-yardoctag, 62 | .hljs-phpdoc, 63 | .nginx .hljs-built_in { 64 | color: #FFFFB6; 65 | } 66 | 67 | .hljs-symbol, 68 | .ruby .hljs-symbol .hljs-string, 69 | .hljs-number, 70 | .hljs-variable, 71 | .vbscript, 72 | .hljs-literal { 73 | color: #C6C5FE; 74 | } 75 | 76 | .css .hljs-tag { 77 | color: #96CBFE; 78 | } 79 | 80 | .css .hljs-rules .hljs-property, 81 | .css .hljs-id { 82 | color: #FFFFB6; 83 | } 84 | 85 | .css .hljs-class { 86 | color: #FFF; 87 | } 88 | 89 | .hljs-hexcolor { 90 | color: #C6C5FE; 91 | } 92 | 93 | .hljs-number { 94 | color:#FF73FD; 95 | } 96 | 97 | .coffeescript .javascript, 98 | .javascript .xml, 99 | .tex .hljs-formula, 100 | .xml .javascript, 101 | .xml .vbscript, 102 | .xml .css, 103 | .xml .hljs-cdata { 104 | opacity: 0.7; 105 | } 106 | -------------------------------------------------------------------------------- /docs-support/styles/magula.css: -------------------------------------------------------------------------------- 1 | /* 2 | Description: Magula style for highligh.js 3 | Author: Ruslan Keba 4 | Website: http://rukeba.com/ 5 | Version: 1.0 6 | Date: 2009-01-03 7 | Music: Aphex Twin / Xtal 8 | */ 9 | 10 | .hljs { 11 | display: block; padding: 0.5em; 12 | background-color: #f4f4f4; 13 | } 14 | 15 | .hljs, 16 | .hljs-subst, 17 | .lisp .hljs-title, 18 | .clojure .hljs-built_in { 19 | color: black; 20 | } 21 | 22 | .hljs-string, 23 | .hljs-title, 24 | .hljs-parent, 25 | .hljs-tag .hljs-value, 26 | .hljs-rules .hljs-value, 27 | .hljs-rules .hljs-value .hljs-number, 28 | .hljs-preprocessor, 29 | .hljs-pragma, 30 | .ruby .hljs-symbol, 31 | .ruby .hljs-symbol .hljs-string, 32 | .hljs-aggregate, 33 | .hljs-template_tag, 34 | .django .hljs-variable, 35 | .smalltalk .hljs-class, 36 | .hljs-addition, 37 | .hljs-flow, 38 | .hljs-stream, 39 | .bash .hljs-variable, 40 | .apache .hljs-cbracket, 41 | .coffeescript .hljs-attribute { 42 | color: #050; 43 | } 44 | 45 | .hljs-comment, 46 | .hljs-annotation, 47 | .hljs-template_comment, 48 | .diff .hljs-header, 49 | .hljs-chunk { 50 | color: #777; 51 | } 52 | 53 | .hljs-number, 54 | .hljs-date, 55 | .hljs-regexp, 56 | .hljs-literal, 57 | .smalltalk .hljs-symbol, 58 | .smalltalk .hljs-char, 59 | .hljs-change, 60 | .tex .hljs-special { 61 | color: #800; 62 | } 63 | 64 | .hljs-label, 65 | .hljs-javadoc, 66 | .ruby .hljs-string, 67 | .hljs-decorator, 68 | .hljs-filter .hljs-argument, 69 | .hljs-localvars, 70 | .hljs-array, 71 | .hljs-attr_selector, 72 | .hljs-pseudo, 73 | .hljs-pi, 74 | .hljs-doctype, 75 | .hljs-deletion, 76 | .hljs-envvar, 77 | .hljs-shebang, 78 | .apache .hljs-sqbracket, 79 | .nginx .hljs-built_in, 80 | .tex .hljs-formula, 81 | .hljs-prompt, 82 | .clojure .hljs-attribute { 83 | color: #00e; 84 | } 85 | 86 | .hljs-keyword, 87 | .hljs-id, 88 | .hljs-phpdoc, 89 | .hljs-title, 90 | .hljs-built_in, 91 | .hljs-aggregate, 92 | .smalltalk .hljs-class, 93 | .hljs-winutils, 94 | .bash .hljs-variable, 95 | .apache .hljs-tag, 96 | .xml .hljs-tag, 97 | .tex .hljs-command, 98 | .hljs-request, 99 | .hljs-status { 100 | font-weight: bold; 101 | color: navy; 102 | } 103 | 104 | .nginx .hljs-built_in { 105 | font-weight: normal; 106 | } 107 | 108 | .coffeescript .javascript, 109 | .javascript .xml, 110 | .tex .hljs-formula, 111 | .xml .javascript, 112 | .xml .vbscript, 113 | .xml .css, 114 | .xml .hljs-cdata { 115 | opacity: 0.5; 116 | } 117 | 118 | /* --- */ 119 | .apache .hljs-tag { 120 | font-weight: bold; 121 | color: blue; 122 | } 123 | 124 | -------------------------------------------------------------------------------- /docs-support/styles/mono-blue.css: -------------------------------------------------------------------------------- 1 | /* 2 | Five-color theme from a single blue hue. 3 | */ 4 | .hljs { 5 | display: block; padding: 0.5em; 6 | background: #EAEEF3; color: #00193A; 7 | } 8 | 9 | .hljs-keyword, 10 | .hljs-title, 11 | .hljs-important, 12 | .hljs-request, 13 | .hljs-header, 14 | .hljs-javadoctag { 15 | font-weight: bold; 16 | } 17 | 18 | .hljs-comment, 19 | .hljs-chunk, 20 | .hljs-template_comment { 21 | color: #738191; 22 | } 23 | 24 | .hljs-string, 25 | .hljs-title, 26 | .hljs-parent, 27 | .hljs-built_in, 28 | .hljs-literal, 29 | .hljs-filename, 30 | .hljs-value, 31 | .hljs-addition, 32 | .hljs-tag, 33 | .hljs-argument, 34 | .hljs-link_label, 35 | .hljs-blockquote, 36 | .hljs-header { 37 | color: #0048AB; 38 | } 39 | 40 | .hljs-decorator, 41 | .hljs-prompt, 42 | .hljs-yardoctag, 43 | .hljs-subst, 44 | .hljs-symbol, 45 | .hljs-doctype, 46 | .hljs-regexp, 47 | .hljs-preprocessor, 48 | .hljs-pragma, 49 | .hljs-pi, 50 | .hljs-attribute, 51 | .hljs-attr_selector, 52 | .hljs-javadoc, 53 | .hljs-xmlDocTag, 54 | .hljs-deletion, 55 | .hljs-shebang, 56 | .hljs-string .hljs-variable, 57 | .hljs-link_url, 58 | .hljs-bullet, 59 | .hljs-sqbracket, 60 | .hljs-phony { 61 | color: #4C81C9; 62 | } 63 | -------------------------------------------------------------------------------- /docs-support/styles/monokai.css: -------------------------------------------------------------------------------- 1 | /* 2 | Monokai style - ported by Luigi Maselli - http://grigio.org 3 | */ 4 | 5 | .hljs { 6 | display: block; padding: 0.5em; 7 | background: #272822; 8 | } 9 | 10 | .hljs-tag, 11 | .hljs-tag .hljs-title, 12 | .hljs-keyword, 13 | .hljs-literal, 14 | .hljs-strong, 15 | .hljs-change, 16 | .hljs-winutils, 17 | .hljs-flow, 18 | .lisp .hljs-title, 19 | .clojure .hljs-built_in, 20 | .nginx .hljs-title, 21 | .tex .hljs-special { 22 | color: #F92672; 23 | } 24 | 25 | .hljs { 26 | color: #DDD; 27 | } 28 | 29 | .hljs .hljs-constant, 30 | .asciidoc .hljs-code { 31 | color: #66D9EF; 32 | } 33 | 34 | .hljs-code, 35 | .hljs-class .hljs-title, 36 | .hljs-header { 37 | color: white; 38 | } 39 | 40 | .hljs-link_label, 41 | .hljs-attribute, 42 | .hljs-symbol, 43 | .hljs-symbol .hljs-string, 44 | .hljs-value, 45 | .hljs-regexp { 46 | color: #BF79DB; 47 | } 48 | 49 | .hljs-link_url, 50 | .hljs-tag .hljs-value, 51 | .hljs-string, 52 | .hljs-bullet, 53 | .hljs-subst, 54 | .hljs-title, 55 | .hljs-emphasis, 56 | .haskell .hljs-type, 57 | .hljs-preprocessor, 58 | .hljs-pragma, 59 | .ruby .hljs-class .hljs-parent, 60 | .hljs-built_in, 61 | .sql .hljs-aggregate, 62 | .django .hljs-template_tag, 63 | .django .hljs-variable, 64 | .smalltalk .hljs-class, 65 | .hljs-javadoc, 66 | .django .hljs-filter .hljs-argument, 67 | .smalltalk .hljs-localvars, 68 | .smalltalk .hljs-array, 69 | .hljs-attr_selector, 70 | .hljs-pseudo, 71 | .hljs-addition, 72 | .hljs-stream, 73 | .hljs-envvar, 74 | .apache .hljs-tag, 75 | .apache .hljs-cbracket, 76 | .tex .hljs-command, 77 | .hljs-prompt { 78 | color: #A6E22E; 79 | } 80 | 81 | .hljs-comment, 82 | .java .hljs-annotation, 83 | .smartquote, 84 | .hljs-blockquote, 85 | .hljs-horizontal_rule, 86 | .python .hljs-decorator, 87 | .hljs-template_comment, 88 | .hljs-pi, 89 | .hljs-doctype, 90 | .hljs-deletion, 91 | .hljs-shebang, 92 | .apache .hljs-sqbracket, 93 | .tex .hljs-formula { 94 | color: #75715E; 95 | } 96 | 97 | .hljs-keyword, 98 | .hljs-literal, 99 | .css .hljs-id, 100 | .hljs-phpdoc, 101 | .hljs-title, 102 | .hljs-header, 103 | .haskell .hljs-type, 104 | .vbscript .hljs-built_in, 105 | .sql .hljs-aggregate, 106 | .rsl .hljs-built_in, 107 | .smalltalk .hljs-class, 108 | .diff .hljs-header, 109 | .hljs-chunk, 110 | .hljs-winutils, 111 | .bash .hljs-variable, 112 | .apache .hljs-tag, 113 | .tex .hljs-special, 114 | .hljs-request, 115 | .hljs-status { 116 | font-weight: bold; 117 | } 118 | 119 | .coffeescript .javascript, 120 | .javascript .xml, 121 | .tex .hljs-formula, 122 | .xml .javascript, 123 | .xml .vbscript, 124 | .xml .css, 125 | .xml .hljs-cdata { 126 | opacity: 0.5; 127 | } 128 | -------------------------------------------------------------------------------- /docs-support/styles/monokai_sublime.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Monokai Sublime style. Derived from Monokai by noformnocontent http://nn.mit-license.org/ 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | padding: 0.5em; 10 | background: #23241f; 11 | } 12 | 13 | .hljs, 14 | .hljs-tag, 15 | .css .hljs-rules, 16 | .css .hljs-value, 17 | .css .hljs-function 18 | .hljs-preprocessor, 19 | .hljs-pragma { 20 | color: #f8f8f2; 21 | } 22 | 23 | .hljs-strongemphasis, 24 | .hljs-strong, 25 | .hljs-emphasis { 26 | color: #a8a8a2; 27 | } 28 | 29 | .hljs-bullet, 30 | .hljs-blockquote, 31 | .hljs-horizontal_rule, 32 | .hljs-number, 33 | .hljs-regexp, 34 | .alias .hljs-keyword, 35 | .hljs-literal, 36 | .hljs-hexcolor { 37 | color: #ae81ff; 38 | } 39 | 40 | .hljs-tag .hljs-value, 41 | .hljs-code, 42 | .hljs-title, 43 | .css .hljs-class, 44 | .hljs-class .hljs-title:last-child { 45 | color: #a6e22e; 46 | } 47 | 48 | .hljs-link_url { 49 | font-size: 80%; 50 | } 51 | 52 | .hljs-strong, 53 | .hljs-strongemphasis { 54 | font-weight: bold; 55 | } 56 | 57 | .hljs-emphasis, 58 | .hljs-strongemphasis, 59 | .hljs-class .hljs-title:last-child { 60 | font-style: italic; 61 | } 62 | 63 | .hljs-keyword, 64 | .hljs-function, 65 | .hljs-change, 66 | .hljs-winutils, 67 | .hljs-flow, 68 | .lisp .hljs-title, 69 | .clojure .hljs-built_in, 70 | .nginx .hljs-title, 71 | .tex .hljs-special, 72 | .hljs-header, 73 | .hljs-attribute, 74 | .hljs-symbol, 75 | .hljs-symbol .hljs-string, 76 | .hljs-tag .hljs-title, 77 | .hljs-value, 78 | .alias .hljs-keyword:first-child, 79 | .css .hljs-tag, 80 | .css .unit, 81 | .css .hljs-important { 82 | color: #F92672; 83 | } 84 | 85 | .hljs-function .hljs-keyword, 86 | .hljs-class .hljs-keyword:first-child, 87 | .hljs-constant, 88 | .css .hljs-attribute { 89 | color: #66d9ef; 90 | } 91 | 92 | .hljs-variable, 93 | .hljs-params, 94 | .hljs-class .hljs-title { 95 | color: #f8f8f2; 96 | } 97 | 98 | .hljs-string, 99 | .css .hljs-id, 100 | .hljs-subst, 101 | .haskell .hljs-type, 102 | .ruby .hljs-class .hljs-parent, 103 | .hljs-built_in, 104 | .sql .hljs-aggregate, 105 | .django .hljs-template_tag, 106 | .django .hljs-variable, 107 | .smalltalk .hljs-class, 108 | .django .hljs-filter .hljs-argument, 109 | .smalltalk .hljs-localvars, 110 | .smalltalk .hljs-array, 111 | .hljs-attr_selector, 112 | .hljs-pseudo, 113 | .hljs-addition, 114 | .hljs-stream, 115 | .hljs-envvar, 116 | .apache .hljs-tag, 117 | .apache .hljs-cbracket, 118 | .tex .hljs-command, 119 | .hljs-prompt, 120 | .hljs-link_label, 121 | .hljs-link_url { 122 | color: #e6db74; 123 | } 124 | 125 | .hljs-comment, 126 | .hljs-javadoc, 127 | .java .hljs-annotation, 128 | .python .hljs-decorator, 129 | .hljs-template_comment, 130 | .hljs-pi, 131 | .hljs-doctype, 132 | .hljs-deletion, 133 | .hljs-shebang, 134 | .apache .hljs-sqbracket, 135 | .tex .hljs-formula { 136 | color: #75715e; 137 | } 138 | 139 | .coffeescript .javascript, 140 | .javascript .xml, 141 | .tex .hljs-formula, 142 | .xml .javascript, 143 | .xml .vbscript, 144 | .xml .css, 145 | .xml .hljs-cdata, 146 | .xml .php, 147 | .php .xml { 148 | opacity: 0.5; 149 | } 150 | -------------------------------------------------------------------------------- /docs-support/styles/obsidian.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Obsidian style 3 | * ported by Alexander Marenin (http://github.com/ioncreature) 4 | */ 5 | 6 | .hljs { 7 | display: block; padding: 0.5em; 8 | background: #282B2E; 9 | } 10 | 11 | .hljs-keyword, 12 | .hljs-literal, 13 | .hljs-change, 14 | .hljs-winutils, 15 | .hljs-flow, 16 | .lisp .hljs-title, 17 | .clojure .hljs-built_in, 18 | .nginx .hljs-title, 19 | .css .hljs-id, 20 | .tex .hljs-special { 21 | color: #93C763; 22 | } 23 | 24 | .hljs-number { 25 | color: #FFCD22; 26 | } 27 | 28 | .hljs { 29 | color: #E0E2E4; 30 | } 31 | 32 | .css .hljs-tag, 33 | .css .hljs-pseudo { 34 | color: #D0D2B5; 35 | } 36 | 37 | .hljs-attribute, 38 | .hljs .hljs-constant { 39 | color: #668BB0; 40 | } 41 | 42 | .xml .hljs-attribute { 43 | color: #B3B689; 44 | } 45 | 46 | .xml .hljs-tag .hljs-value { 47 | color: #E8E2B7; 48 | } 49 | 50 | .hljs-code, 51 | .hljs-class .hljs-title, 52 | .hljs-header { 53 | color: white; 54 | } 55 | 56 | .hljs-class, 57 | .hljs-hexcolor { 58 | color: #93C763; 59 | } 60 | 61 | .hljs-regexp { 62 | color: #D39745; 63 | } 64 | 65 | .hljs-at_rule, 66 | .hljs-at_rule .hljs-keyword { 67 | color: #A082BD; 68 | } 69 | 70 | .hljs-doctype { 71 | color: #557182; 72 | } 73 | 74 | .hljs-link_url, 75 | .hljs-tag, 76 | .hljs-tag .hljs-title, 77 | .hljs-bullet, 78 | .hljs-subst, 79 | .hljs-emphasis, 80 | .haskell .hljs-type, 81 | .hljs-preprocessor, 82 | .hljs-pragma, 83 | .ruby .hljs-class .hljs-parent, 84 | .hljs-built_in, 85 | .sql .hljs-aggregate, 86 | .django .hljs-template_tag, 87 | .django .hljs-variable, 88 | .smalltalk .hljs-class, 89 | .hljs-javadoc, 90 | .django .hljs-filter .hljs-argument, 91 | .smalltalk .hljs-localvars, 92 | .smalltalk .hljs-array, 93 | .hljs-attr_selector, 94 | .hljs-pseudo, 95 | .hljs-addition, 96 | .hljs-stream, 97 | .hljs-envvar, 98 | .apache .hljs-tag, 99 | .apache .hljs-cbracket, 100 | .tex .hljs-command, 101 | .hljs-prompt { 102 | color: #8CBBAD; 103 | } 104 | 105 | .hljs-string { 106 | color: #EC7600; 107 | } 108 | 109 | .hljs-comment, 110 | .java .hljs-annotation, 111 | .hljs-blockquote, 112 | .hljs-horizontal_rule, 113 | .python .hljs-decorator, 114 | .hljs-template_comment, 115 | .hljs-pi, 116 | .hljs-deletion, 117 | .hljs-shebang, 118 | .apache .hljs-sqbracket, 119 | .tex .hljs-formula { 120 | color: #818E96; 121 | } 122 | 123 | .hljs-keyword, 124 | .hljs-literal, 125 | .css .hljs-id, 126 | .hljs-phpdoc, 127 | .hljs-title, 128 | .hljs-header, 129 | .haskell .hljs-type, 130 | .vbscript .hljs-built_in, 131 | .sql .hljs-aggregate, 132 | .rsl .hljs-built_in, 133 | .smalltalk .hljs-class, 134 | .diff .hljs-header, 135 | .hljs-chunk, 136 | .hljs-winutils, 137 | .bash .hljs-variable, 138 | .apache .hljs-tag, 139 | .tex .hljs-special, 140 | .hljs-request, 141 | .hljs-at_rule .hljs-keyword, 142 | .hljs-status { 143 | font-weight: bold; 144 | } 145 | 146 | .coffeescript .javascript, 147 | .javascript .xml, 148 | .tex .hljs-formula, 149 | .xml .javascript, 150 | .xml .vbscript, 151 | .xml .css, 152 | .xml .hljs-cdata { 153 | opacity: 0.5; 154 | } 155 | -------------------------------------------------------------------------------- /docs-support/styles/paraiso.dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | Paraíso (dark) 3 | Created by Jan T. Sott (http://github.com/idleberg) 4 | Inspired by the art of Rubens LP (http://www.rubenslp.com.br) 5 | */ 6 | 7 | /* Paraíso Comment */ 8 | .hljs-comment, 9 | .hljs-title { 10 | color: #8d8687; 11 | } 12 | 13 | /* Paraíso Red */ 14 | .hljs-variable, 15 | .hljs-attribute, 16 | .hljs-tag, 17 | .hljs-regexp, 18 | .ruby .hljs-constant, 19 | .xml .hljs-tag .hljs-title, 20 | .xml .hljs-pi, 21 | .xml .hljs-doctype, 22 | .html .hljs-doctype, 23 | .css .hljs-id, 24 | .css .hljs-class, 25 | .css .hljs-pseudo { 26 | color: #ef6155; 27 | } 28 | 29 | /* Paraíso Orange */ 30 | .hljs-number, 31 | .hljs-preprocessor, 32 | .hljs-built_in, 33 | .hljs-literal, 34 | .hljs-params, 35 | .hljs-constant { 36 | color: #f99b15; 37 | } 38 | 39 | /* Paraíso Yellow */ 40 | .ruby .hljs-class .hljs-title, 41 | .css .hljs-rules .hljs-attribute { 42 | color: #fec418; 43 | } 44 | 45 | /* Paraíso Green */ 46 | .hljs-string, 47 | .hljs-value, 48 | .hljs-inheritance, 49 | .hljs-header, 50 | .ruby .hljs-symbol, 51 | .xml .hljs-cdata { 52 | color: #48b685; 53 | } 54 | 55 | /* Paraíso Aqua */ 56 | .css .hljs-hexcolor { 57 | color: #5bc4bf; 58 | } 59 | 60 | /* Paraíso Blue */ 61 | .hljs-function, 62 | .python .hljs-decorator, 63 | .python .hljs-title, 64 | .ruby .hljs-function .hljs-title, 65 | .ruby .hljs-title .hljs-keyword, 66 | .perl .hljs-sub, 67 | .javascript .hljs-title, 68 | .coffeescript .hljs-title { 69 | color: #06b6ef; 70 | } 71 | 72 | /* Paraíso Purple */ 73 | .hljs-keyword, 74 | .javascript .hljs-function { 75 | color: #815ba4; 76 | } 77 | 78 | .hljs { 79 | display: block; 80 | background: #2f1e2e; 81 | color: #a39e9b; 82 | padding: 0.5em; 83 | } 84 | 85 | .coffeescript .javascript, 86 | .javascript .xml, 87 | .tex .hljs-formula, 88 | .xml .javascript, 89 | .xml .vbscript, 90 | .xml .css, 91 | .xml .hljs-cdata { 92 | opacity: 0.5; 93 | } 94 | -------------------------------------------------------------------------------- /docs-support/styles/paraiso.light.css: -------------------------------------------------------------------------------- 1 | /* 2 | Paraíso (light) 3 | Created by Jan T. Sott (http://github.com/idleberg) 4 | Inspired by the art of Rubens LP (http://www.rubenslp.com.br) 5 | */ 6 | 7 | /* Paraíso Comment */ 8 | .hljs-comment, 9 | .hljs-title { 10 | color: #776e71; 11 | } 12 | 13 | /* Paraíso Red */ 14 | .hljs-variable, 15 | .hljs-attribute, 16 | .hljs-tag, 17 | .hljs-regexp, 18 | .ruby .hljs-constant, 19 | .xml .hljs-tag .hljs-title, 20 | .xml .hljs-pi, 21 | .xml .hljs-doctype, 22 | .html .hljs-doctype, 23 | .css .hljs-id, 24 | .css .hljs-class, 25 | .css .hljs-pseudo { 26 | color: #ef6155; 27 | } 28 | 29 | /* Paraíso Orange */ 30 | .hljs-number, 31 | .hljs-preprocessor, 32 | .hljs-built_in, 33 | .hljs-literal, 34 | .hljs-params, 35 | .hljs-constant { 36 | color: #f99b15; 37 | } 38 | 39 | /* Paraíso Yellow */ 40 | .ruby .hljs-class .hljs-title, 41 | .css .hljs-rules .hljs-attribute { 42 | color: #fec418; 43 | } 44 | 45 | /* Paraíso Green */ 46 | .hljs-string, 47 | .hljs-value, 48 | .hljs-inheritance, 49 | .hljs-header, 50 | .ruby .hljs-symbol, 51 | .xml .hljs-cdata { 52 | color: #48b685; 53 | } 54 | 55 | /* Paraíso Aqua */ 56 | .css .hljs-hexcolor { 57 | color: #5bc4bf; 58 | } 59 | 60 | /* Paraíso Blue */ 61 | .hljs-function, 62 | .python .hljs-decorator, 63 | .python .hljs-title, 64 | .ruby .hljs-function .hljs-title, 65 | .ruby .hljs-title .hljs-keyword, 66 | .perl .hljs-sub, 67 | .javascript .hljs-title, 68 | .coffeescript .hljs-title { 69 | color: #06b6ef; 70 | } 71 | 72 | /* Paraíso Purple */ 73 | .hljs-keyword, 74 | .javascript .hljs-function { 75 | color: #815ba4; 76 | } 77 | 78 | .hljs { 79 | display: block; 80 | background: #e7e9db; 81 | color: #4f424c; 82 | padding: 0.5em; 83 | } 84 | 85 | .coffeescript .javascript, 86 | .javascript .xml, 87 | .tex .hljs-formula, 88 | .xml .javascript, 89 | .xml .vbscript, 90 | .xml .css, 91 | .xml .hljs-cdata { 92 | opacity: 0.5; 93 | } 94 | -------------------------------------------------------------------------------- /docs-support/styles/pojoaque.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Pojoaque Style by Jason Tate 4 | http://web-cms-designs.com/ftopict-10-pojoaque-style-for-highlight-js-code-highlighter.html 5 | Based on Solarized Style from http://ethanschoonover.com/solarized 6 | 7 | */ 8 | 9 | .hljs { 10 | display: block; padding: 0.5em; 11 | color: #DCCF8F; 12 | background: url(./pojoaque.jpg) repeat scroll left top #181914; 13 | } 14 | 15 | .hljs-comment, 16 | .hljs-template_comment, 17 | .diff .hljs-header, 18 | .hljs-doctype, 19 | .lisp .hljs-string, 20 | .hljs-javadoc { 21 | color: #586e75; 22 | font-style: italic; 23 | } 24 | 25 | .hljs-keyword, 26 | .css .rule .hljs-keyword, 27 | .hljs-winutils, 28 | .javascript .hljs-title, 29 | .method, 30 | .hljs-addition, 31 | .css .hljs-tag, 32 | .clojure .hljs-title, 33 | .nginx .hljs-title { 34 | color: #B64926; 35 | } 36 | 37 | .hljs-number, 38 | .hljs-command, 39 | .hljs-string, 40 | .hljs-tag .hljs-value, 41 | .hljs-phpdoc, 42 | .tex .hljs-formula, 43 | .hljs-regexp, 44 | .hljs-hexcolor { 45 | color: #468966; 46 | } 47 | 48 | .hljs-title, 49 | .hljs-localvars, 50 | .hljs-function .hljs-title, 51 | .hljs-chunk, 52 | .hljs-decorator, 53 | .hljs-built_in, 54 | .lisp .hljs-title, 55 | .clojure .hljs-built_in, 56 | .hljs-identifier, 57 | .hljs-id { 58 | color: #FFB03B; 59 | } 60 | 61 | .hljs-attribute, 62 | .hljs-variable, 63 | .lisp .hljs-body, 64 | .smalltalk .hljs-number, 65 | .hljs-constant, 66 | .hljs-class .hljs-title, 67 | .hljs-parent, 68 | .haskell .hljs-type { 69 | color: #b58900; 70 | } 71 | 72 | .css .hljs-attribute { 73 | color: #b89859; 74 | } 75 | 76 | .css .hljs-number, 77 | .css .hljs-hexcolor { 78 | color: #DCCF8F; 79 | } 80 | 81 | .css .hljs-class { 82 | color: #d3a60c; 83 | } 84 | 85 | .hljs-preprocessor, 86 | .hljs-pragma, 87 | .hljs-pi, 88 | .hljs-shebang, 89 | .hljs-symbol, 90 | .hljs-symbol .hljs-string, 91 | .diff .hljs-change, 92 | .hljs-special, 93 | .hljs-attr_selector, 94 | .hljs-important, 95 | .hljs-subst, 96 | .hljs-cdata { 97 | color: #cb4b16; 98 | } 99 | 100 | .hljs-deletion { 101 | color: #dc322f; 102 | } 103 | 104 | .tex .hljs-formula { 105 | background: #073642; 106 | } 107 | -------------------------------------------------------------------------------- /docs-support/styles/pojoaque.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeNeSuisPasDave/MarkdownTools/598e6ba31b5e2f7885c1fdab2f2c888ce518eee2/docs-support/styles/pojoaque.jpg -------------------------------------------------------------------------------- /docs-support/styles/railscasts.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Railscasts-like style (c) Visoft, Inc. (Damien White) 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | padding: 0.5em; 10 | background: #232323; 11 | color: #E6E1DC; 12 | } 13 | 14 | .hljs-comment, 15 | .hljs-template_comment, 16 | .hljs-javadoc, 17 | .hljs-shebang { 18 | color: #BC9458; 19 | font-style: italic; 20 | } 21 | 22 | .hljs-keyword, 23 | .ruby .hljs-function .hljs-keyword, 24 | .hljs-request, 25 | .hljs-status, 26 | .nginx .hljs-title, 27 | .method, 28 | .hljs-list .hljs-title { 29 | color: #C26230; 30 | } 31 | 32 | .hljs-string, 33 | .hljs-number, 34 | .hljs-regexp, 35 | .hljs-tag .hljs-value, 36 | .hljs-cdata, 37 | .hljs-filter .hljs-argument, 38 | .hljs-attr_selector, 39 | .apache .hljs-cbracket, 40 | .hljs-date, 41 | .tex .hljs-command, 42 | .markdown .hljs-link_label { 43 | color: #A5C261; 44 | } 45 | 46 | .hljs-subst { 47 | color: #519F50; 48 | } 49 | 50 | .hljs-tag, 51 | .hljs-tag .hljs-keyword, 52 | .hljs-tag .hljs-title, 53 | .hljs-doctype, 54 | .hljs-sub .hljs-identifier, 55 | .hljs-pi, 56 | .input_number { 57 | color: #E8BF6A; 58 | } 59 | 60 | .hljs-identifier { 61 | color: #D0D0FF; 62 | } 63 | 64 | .hljs-class .hljs-title, 65 | .haskell .hljs-type, 66 | .smalltalk .hljs-class, 67 | .hljs-javadoctag, 68 | .hljs-yardoctag, 69 | .hljs-phpdoc { 70 | text-decoration: none; 71 | } 72 | 73 | .hljs-constant { 74 | color: #DA4939; 75 | } 76 | 77 | 78 | .hljs-symbol, 79 | .hljs-built_in, 80 | .ruby .hljs-symbol .hljs-string, 81 | .ruby .hljs-symbol .hljs-identifier, 82 | .markdown .hljs-link_url, 83 | .hljs-attribute { 84 | color: #6D9CBE; 85 | } 86 | 87 | .markdown .hljs-link_url { 88 | text-decoration: underline; 89 | } 90 | 91 | 92 | 93 | .hljs-params, 94 | .hljs-variable, 95 | .clojure .hljs-attribute { 96 | color: #D0D0FF; 97 | } 98 | 99 | .css .hljs-tag, 100 | .hljs-rules .hljs-property, 101 | .hljs-pseudo, 102 | .tex .hljs-special { 103 | color: #CDA869; 104 | } 105 | 106 | .css .hljs-class { 107 | color: #9B703F; 108 | } 109 | 110 | .hljs-rules .hljs-keyword { 111 | color: #C5AF75; 112 | } 113 | 114 | .hljs-rules .hljs-value { 115 | color: #CF6A4C; 116 | } 117 | 118 | .css .hljs-id { 119 | color: #8B98AB; 120 | } 121 | 122 | .hljs-annotation, 123 | .apache .hljs-sqbracket, 124 | .nginx .hljs-built_in { 125 | color: #9B859D; 126 | } 127 | 128 | .hljs-preprocessor, 129 | .hljs-preprocessor *, 130 | .hljs-pragma { 131 | color: #8996A8 !important; 132 | } 133 | 134 | .hljs-hexcolor, 135 | .css .hljs-value .hljs-number { 136 | color: #A5C261; 137 | } 138 | 139 | .hljs-title, 140 | .hljs-decorator, 141 | .css .hljs-function { 142 | color: #FFC66D; 143 | } 144 | 145 | .diff .hljs-header, 146 | .hljs-chunk { 147 | background-color: #2F33AB; 148 | color: #E6E1DC; 149 | display: inline-block; 150 | width: 100%; 151 | } 152 | 153 | .diff .hljs-change { 154 | background-color: #4A410D; 155 | color: #F8F8F8; 156 | display: inline-block; 157 | width: 100%; 158 | } 159 | 160 | .hljs-addition { 161 | background-color: #144212; 162 | color: #E6E1DC; 163 | display: inline-block; 164 | width: 100%; 165 | } 166 | 167 | .hljs-deletion { 168 | background-color: #600; 169 | color: #E6E1DC; 170 | display: inline-block; 171 | width: 100%; 172 | } 173 | 174 | .coffeescript .javascript, 175 | .javascript .xml, 176 | .tex .hljs-formula, 177 | .xml .javascript, 178 | .xml .vbscript, 179 | .xml .css, 180 | .xml .hljs-cdata { 181 | opacity: 0.7; 182 | } 183 | -------------------------------------------------------------------------------- /docs-support/styles/rainbow.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Style with support for rainbow parens 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; padding: 0.5em; 9 | background: #474949; color: #D1D9E1; 10 | } 11 | 12 | 13 | .hljs-body, 14 | .hljs-collection { 15 | color: #D1D9E1; 16 | } 17 | 18 | .hljs-comment, 19 | .hljs-template_comment, 20 | .diff .hljs-header, 21 | .hljs-doctype, 22 | .lisp .hljs-string, 23 | .hljs-javadoc { 24 | color: #969896; 25 | font-style: italic; 26 | } 27 | 28 | .hljs-keyword, 29 | .clojure .hljs-attribute, 30 | .hljs-winutils, 31 | .javascript .hljs-title, 32 | .hljs-addition, 33 | .css .hljs-tag { 34 | color: #cc99cc; 35 | } 36 | 37 | .hljs-number { color: #f99157; } 38 | 39 | .hljs-command, 40 | .hljs-string, 41 | .hljs-tag .hljs-value, 42 | .hljs-phpdoc, 43 | .tex .hljs-formula, 44 | .hljs-regexp, 45 | .hljs-hexcolor { 46 | color: #8abeb7; 47 | } 48 | 49 | .hljs-title, 50 | .hljs-localvars, 51 | .hljs-function .hljs-title, 52 | .hljs-chunk, 53 | .hljs-decorator, 54 | .hljs-built_in, 55 | .lisp .hljs-title, 56 | .hljs-identifier 57 | { 58 | color: #b5bd68; 59 | } 60 | 61 | .hljs-class .hljs-keyword 62 | { 63 | color: #f2777a; 64 | } 65 | 66 | .hljs-variable, 67 | .lisp .hljs-body, 68 | .smalltalk .hljs-number, 69 | .hljs-constant, 70 | .hljs-class .hljs-title, 71 | .hljs-parent, 72 | .haskell .hljs-label, 73 | .hljs-id, 74 | .lisp .hljs-title, 75 | .clojure .hljs-title .hljs-built_in { 76 | color: #ffcc66; 77 | } 78 | 79 | .hljs-tag .hljs-title, 80 | .hljs-rules .hljs-property, 81 | .django .hljs-tag .hljs-keyword, 82 | .clojure .hljs-title .hljs-built_in { 83 | font-weight: bold; 84 | } 85 | 86 | .hljs-attribute, 87 | .clojure .hljs-title { 88 | color: #81a2be; 89 | } 90 | 91 | .hljs-preprocessor, 92 | .hljs-pragma, 93 | .hljs-pi, 94 | .hljs-shebang, 95 | .hljs-symbol, 96 | .hljs-symbol .hljs-string, 97 | .diff .hljs-change, 98 | .hljs-special, 99 | .hljs-attr_selector, 100 | .hljs-important, 101 | .hljs-subst, 102 | .hljs-cdata { 103 | color: #f99157; 104 | } 105 | 106 | .hljs-deletion { 107 | color: #dc322f; 108 | } 109 | 110 | .tex .hljs-formula { 111 | background: #eee8d5; 112 | } 113 | -------------------------------------------------------------------------------- /docs-support/styles/school_book.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | School Book style from goldblog.com.ua (c) Zaripov Yura 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; padding: 15px 0.5em 0.5em 30px; 9 | font-size: 11px !important; 10 | line-height:16px !important; 11 | } 12 | 13 | pre{ 14 | background:#f6f6ae url(./school_book.png); 15 | border-top: solid 2px #d2e8b9; 16 | border-bottom: solid 1px #d2e8b9; 17 | } 18 | 19 | .hljs-keyword, 20 | .hljs-literal, 21 | .hljs-change, 22 | .hljs-winutils, 23 | .hljs-flow, 24 | .lisp .hljs-title, 25 | .clojure .hljs-built_in, 26 | .nginx .hljs-title, 27 | .tex .hljs-special { 28 | color:#005599; 29 | font-weight:bold; 30 | } 31 | 32 | .hljs, 33 | .hljs-subst, 34 | .hljs-tag .hljs-keyword { 35 | color: #3E5915; 36 | } 37 | 38 | .hljs-string, 39 | .hljs-title, 40 | .haskell .hljs-type, 41 | .hljs-tag .hljs-value, 42 | .css .hljs-rules .hljs-value, 43 | .hljs-preprocessor, 44 | .hljs-pragma, 45 | .ruby .hljs-symbol, 46 | .ruby .hljs-symbol .hljs-string, 47 | .ruby .hljs-class .hljs-parent, 48 | .hljs-built_in, 49 | .sql .hljs-aggregate, 50 | .django .hljs-template_tag, 51 | .django .hljs-variable, 52 | .smalltalk .hljs-class, 53 | .hljs-javadoc, 54 | .ruby .hljs-string, 55 | .django .hljs-filter .hljs-argument, 56 | .smalltalk .hljs-localvars, 57 | .smalltalk .hljs-array, 58 | .hljs-attr_selector, 59 | .hljs-pseudo, 60 | .hljs-addition, 61 | .hljs-stream, 62 | .hljs-envvar, 63 | .apache .hljs-tag, 64 | .apache .hljs-cbracket, 65 | .nginx .hljs-built_in, 66 | .tex .hljs-command, 67 | .coffeescript .hljs-attribute { 68 | color: #2C009F; 69 | } 70 | 71 | .hljs-comment, 72 | .java .hljs-annotation, 73 | .python .hljs-decorator, 74 | .hljs-template_comment, 75 | .hljs-pi, 76 | .hljs-doctype, 77 | .hljs-deletion, 78 | .hljs-shebang, 79 | .apache .hljs-sqbracket { 80 | color: #E60415; 81 | } 82 | 83 | .hljs-keyword, 84 | .hljs-literal, 85 | .css .hljs-id, 86 | .hljs-phpdoc, 87 | .hljs-title, 88 | .haskell .hljs-type, 89 | .vbscript .hljs-built_in, 90 | .sql .hljs-aggregate, 91 | .rsl .hljs-built_in, 92 | .smalltalk .hljs-class, 93 | .xml .hljs-tag .hljs-title, 94 | .diff .hljs-header, 95 | .hljs-chunk, 96 | .hljs-winutils, 97 | .bash .hljs-variable, 98 | .apache .hljs-tag, 99 | .tex .hljs-command, 100 | .hljs-request, 101 | .hljs-status { 102 | font-weight: bold; 103 | } 104 | 105 | .coffeescript .javascript, 106 | .javascript .xml, 107 | .tex .hljs-formula, 108 | .xml .javascript, 109 | .xml .vbscript, 110 | .xml .css, 111 | .xml .hljs-cdata { 112 | opacity: 0.5; 113 | } 114 | -------------------------------------------------------------------------------- /docs-support/styles/school_book.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeNeSuisPasDave/MarkdownTools/598e6ba31b5e2f7885c1fdab2f2c888ce518eee2/docs-support/styles/school_book.png -------------------------------------------------------------------------------- /docs-support/styles/solarized_dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | padding: 0.5em; 10 | background: #002b36; 11 | color: #839496; 12 | } 13 | 14 | .hljs-comment, 15 | .hljs-template_comment, 16 | .diff .hljs-header, 17 | .hljs-doctype, 18 | .hljs-pi, 19 | .lisp .hljs-string, 20 | .hljs-javadoc { 21 | color: #586e75; 22 | } 23 | 24 | /* Solarized Green */ 25 | .hljs-keyword, 26 | .hljs-winutils, 27 | .method, 28 | .hljs-addition, 29 | .css .hljs-tag, 30 | .hljs-request, 31 | .hljs-status, 32 | .nginx .hljs-title { 33 | color: #859900; 34 | } 35 | 36 | /* Solarized Cyan */ 37 | .hljs-number, 38 | .hljs-command, 39 | .hljs-string, 40 | .hljs-tag .hljs-value, 41 | .hljs-rules .hljs-value, 42 | .hljs-phpdoc, 43 | .tex .hljs-formula, 44 | .hljs-regexp, 45 | .hljs-hexcolor, 46 | .hljs-link_url { 47 | color: #2aa198; 48 | } 49 | 50 | /* Solarized Blue */ 51 | .hljs-title, 52 | .hljs-localvars, 53 | .hljs-chunk, 54 | .hljs-decorator, 55 | .hljs-built_in, 56 | .hljs-identifier, 57 | .vhdl .hljs-literal, 58 | .hljs-id, 59 | .css .hljs-function { 60 | color: #268bd2; 61 | } 62 | 63 | /* Solarized Yellow */ 64 | .hljs-attribute, 65 | .hljs-variable, 66 | .lisp .hljs-body, 67 | .smalltalk .hljs-number, 68 | .hljs-constant, 69 | .hljs-class .hljs-title, 70 | .hljs-parent, 71 | .haskell .hljs-type, 72 | .hljs-link_reference { 73 | color: #b58900; 74 | } 75 | 76 | /* Solarized Orange */ 77 | .hljs-preprocessor, 78 | .hljs-preprocessor .hljs-keyword, 79 | .hljs-pragma, 80 | .hljs-shebang, 81 | .hljs-symbol, 82 | .hljs-symbol .hljs-string, 83 | .diff .hljs-change, 84 | .hljs-special, 85 | .hljs-attr_selector, 86 | .hljs-subst, 87 | .hljs-cdata, 88 | .clojure .hljs-title, 89 | .css .hljs-pseudo, 90 | .hljs-header { 91 | color: #cb4b16; 92 | } 93 | 94 | /* Solarized Red */ 95 | .hljs-deletion, 96 | .hljs-important { 97 | color: #dc322f; 98 | } 99 | 100 | /* Solarized Violet */ 101 | .hljs-link_label { 102 | color: #6c71c4; 103 | } 104 | 105 | .tex .hljs-formula { 106 | background: #073642; 107 | } 108 | -------------------------------------------------------------------------------- /docs-support/styles/solarized_light.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | padding: 0.5em; 10 | background: #fdf6e3; 11 | color: #657b83; 12 | } 13 | 14 | .hljs-comment, 15 | .hljs-template_comment, 16 | .diff .hljs-header, 17 | .hljs-doctype, 18 | .hljs-pi, 19 | .lisp .hljs-string, 20 | .hljs-javadoc { 21 | color: #93a1a1; 22 | } 23 | 24 | /* Solarized Green */ 25 | .hljs-keyword, 26 | .hljs-winutils, 27 | .method, 28 | .hljs-addition, 29 | .css .hljs-tag, 30 | .hljs-request, 31 | .hljs-status, 32 | .nginx .hljs-title { 33 | color: #859900; 34 | } 35 | 36 | /* Solarized Cyan */ 37 | .hljs-number, 38 | .hljs-command, 39 | .hljs-string, 40 | .hljs-tag .hljs-value, 41 | .hljs-rules .hljs-value, 42 | .hljs-phpdoc, 43 | .tex .hljs-formula, 44 | .hljs-regexp, 45 | .hljs-hexcolor, 46 | .hljs-link_url { 47 | color: #2aa198; 48 | } 49 | 50 | /* Solarized Blue */ 51 | .hljs-title, 52 | .hljs-localvars, 53 | .hljs-chunk, 54 | .hljs-decorator, 55 | .hljs-built_in, 56 | .hljs-identifier, 57 | .vhdl .hljs-literal, 58 | .hljs-id, 59 | .css .hljs-function { 60 | color: #268bd2; 61 | } 62 | 63 | /* Solarized Yellow */ 64 | .hljs-attribute, 65 | .hljs-variable, 66 | .lisp .hljs-body, 67 | .smalltalk .hljs-number, 68 | .hljs-constant, 69 | .hljs-class .hljs-title, 70 | .hljs-parent, 71 | .haskell .hljs-type, 72 | .hljs-link_reference { 73 | color: #b58900; 74 | } 75 | 76 | /* Solarized Orange */ 77 | .hljs-preprocessor, 78 | .hljs-preprocessor .hljs-keyword, 79 | .hljs-pragma, 80 | .hljs-shebang, 81 | .hljs-symbol, 82 | .hljs-symbol .hljs-string, 83 | .diff .hljs-change, 84 | .hljs-special, 85 | .hljs-attr_selector, 86 | .hljs-subst, 87 | .hljs-cdata, 88 | .clojure .hljs-title, 89 | .css .hljs-pseudo, 90 | .hljs-header { 91 | color: #cb4b16; 92 | } 93 | 94 | /* Solarized Red */ 95 | .hljs-deletion, 96 | .hljs-important { 97 | color: #dc322f; 98 | } 99 | 100 | /* Solarized Violet */ 101 | .hljs-link_label { 102 | color: #6c71c4; 103 | } 104 | 105 | .tex .hljs-formula { 106 | background: #eee8d5; 107 | } 108 | -------------------------------------------------------------------------------- /docs-support/styles/sunburst.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Sunburst-like style (c) Vasily Polovnyov 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; padding: 0.5em; 9 | background: #000; color: #f8f8f8; 10 | } 11 | 12 | .hljs-comment, 13 | .hljs-template_comment, 14 | .hljs-javadoc { 15 | color: #aeaeae; 16 | font-style: italic; 17 | } 18 | 19 | .hljs-keyword, 20 | .ruby .hljs-function .hljs-keyword, 21 | .hljs-request, 22 | .hljs-status, 23 | .nginx .hljs-title { 24 | color: #E28964; 25 | } 26 | 27 | .hljs-function .hljs-keyword, 28 | .hljs-sub .hljs-keyword, 29 | .method, 30 | .hljs-list .hljs-title { 31 | color: #99CF50; 32 | } 33 | 34 | .hljs-string, 35 | .hljs-tag .hljs-value, 36 | .hljs-cdata, 37 | .hljs-filter .hljs-argument, 38 | .hljs-attr_selector, 39 | .apache .hljs-cbracket, 40 | .hljs-date, 41 | .tex .hljs-command, 42 | .coffeescript .hljs-attribute { 43 | color: #65B042; 44 | } 45 | 46 | .hljs-subst { 47 | color: #DAEFA3; 48 | } 49 | 50 | .hljs-regexp { 51 | color: #E9C062; 52 | } 53 | 54 | .hljs-title, 55 | .hljs-sub .hljs-identifier, 56 | .hljs-pi, 57 | .hljs-tag, 58 | .hljs-tag .hljs-keyword, 59 | .hljs-decorator, 60 | .hljs-shebang, 61 | .hljs-prompt { 62 | color: #89BDFF; 63 | } 64 | 65 | .hljs-class .hljs-title, 66 | .haskell .hljs-type, 67 | .smalltalk .hljs-class, 68 | .hljs-javadoctag, 69 | .hljs-yardoctag, 70 | .hljs-phpdoc { 71 | text-decoration: underline; 72 | } 73 | 74 | .hljs-symbol, 75 | .ruby .hljs-symbol .hljs-string, 76 | .hljs-number { 77 | color: #3387CC; 78 | } 79 | 80 | .hljs-params, 81 | .hljs-variable, 82 | .clojure .hljs-attribute { 83 | color: #3E87E3; 84 | } 85 | 86 | .css .hljs-tag, 87 | .hljs-rules .hljs-property, 88 | .hljs-pseudo, 89 | .tex .hljs-special { 90 | color: #CDA869; 91 | } 92 | 93 | .css .hljs-class { 94 | color: #9B703F; 95 | } 96 | 97 | .hljs-rules .hljs-keyword { 98 | color: #C5AF75; 99 | } 100 | 101 | .hljs-rules .hljs-value { 102 | color: #CF6A4C; 103 | } 104 | 105 | .css .hljs-id { 106 | color: #8B98AB; 107 | } 108 | 109 | .hljs-annotation, 110 | .apache .hljs-sqbracket, 111 | .nginx .hljs-built_in { 112 | color: #9B859D; 113 | } 114 | 115 | .hljs-preprocessor, 116 | .hljs-pragma { 117 | color: #8996A8; 118 | } 119 | 120 | .hljs-hexcolor, 121 | .css .hljs-value .hljs-number { 122 | color: #DD7B3B; 123 | } 124 | 125 | .css .hljs-function { 126 | color: #DAD085; 127 | } 128 | 129 | .diff .hljs-header, 130 | .hljs-chunk, 131 | .tex .hljs-formula { 132 | background-color: #0E2231; 133 | color: #F8F8F8; 134 | font-style: italic; 135 | } 136 | 137 | .diff .hljs-change { 138 | background-color: #4A410D; 139 | color: #F8F8F8; 140 | } 141 | 142 | .hljs-addition { 143 | background-color: #253B22; 144 | color: #F8F8F8; 145 | } 146 | 147 | .hljs-deletion { 148 | background-color: #420E09; 149 | color: #F8F8F8; 150 | } 151 | 152 | .coffeescript .javascript, 153 | .javascript .xml, 154 | .tex .hljs-formula, 155 | .xml .javascript, 156 | .xml .vbscript, 157 | .xml .css, 158 | .xml .hljs-cdata { 159 | opacity: 0.5; 160 | } 161 | -------------------------------------------------------------------------------- /docs-support/styles/tomorrow-night-blue.css: -------------------------------------------------------------------------------- 1 | /* Tomorrow Night Blue Theme */ 2 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 3 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */ 4 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 5 | 6 | /* Tomorrow Comment */ 7 | .hljs-comment, 8 | .hljs-title { 9 | color: #7285b7; 10 | } 11 | 12 | /* Tomorrow Red */ 13 | .hljs-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-regexp, 17 | .ruby .hljs-constant, 18 | .xml .hljs-tag .hljs-title, 19 | .xml .hljs-pi, 20 | .xml .hljs-doctype, 21 | .html .hljs-doctype, 22 | .css .hljs-id, 23 | .css .hljs-class, 24 | .css .hljs-pseudo { 25 | color: #ff9da4; 26 | } 27 | 28 | /* Tomorrow Orange */ 29 | .hljs-number, 30 | .hljs-preprocessor, 31 | .hljs-pragma, 32 | .hljs-built_in, 33 | .hljs-literal, 34 | .hljs-params, 35 | .hljs-constant { 36 | color: #ffc58f; 37 | } 38 | 39 | /* Tomorrow Yellow */ 40 | .ruby .hljs-class .hljs-title, 41 | .css .hljs-rules .hljs-attribute { 42 | color: #ffeead; 43 | } 44 | 45 | /* Tomorrow Green */ 46 | .hljs-string, 47 | .hljs-value, 48 | .hljs-inheritance, 49 | .hljs-header, 50 | .ruby .hljs-symbol, 51 | .xml .hljs-cdata { 52 | color: #d1f1a9; 53 | } 54 | 55 | /* Tomorrow Aqua */ 56 | .css .hljs-hexcolor { 57 | color: #99ffff; 58 | } 59 | 60 | /* Tomorrow Blue */ 61 | .hljs-function, 62 | .python .hljs-decorator, 63 | .python .hljs-title, 64 | .ruby .hljs-function .hljs-title, 65 | .ruby .hljs-title .hljs-keyword, 66 | .perl .hljs-sub, 67 | .javascript .hljs-title, 68 | .coffeescript .hljs-title { 69 | color: #bbdaff; 70 | } 71 | 72 | /* Tomorrow Purple */ 73 | .hljs-keyword, 74 | .javascript .hljs-function { 75 | color: #ebbbff; 76 | } 77 | 78 | .hljs { 79 | display: block; 80 | background: #002451; 81 | color: white; 82 | padding: 0.5em; 83 | } 84 | 85 | .coffeescript .javascript, 86 | .javascript .xml, 87 | .tex .hljs-formula, 88 | .xml .javascript, 89 | .xml .vbscript, 90 | .xml .css, 91 | .xml .hljs-cdata { 92 | opacity: 0.5; 93 | } 94 | -------------------------------------------------------------------------------- /docs-support/styles/tomorrow-night-bright.css: -------------------------------------------------------------------------------- 1 | /* Tomorrow Night Bright Theme */ 2 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */ 3 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 4 | 5 | /* Tomorrow Comment */ 6 | .hljs-comment, 7 | .hljs-title { 8 | color: #969896; 9 | } 10 | 11 | /* Tomorrow Red */ 12 | .hljs-variable, 13 | .hljs-attribute, 14 | .hljs-tag, 15 | .hljs-regexp, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #d54e53; 25 | } 26 | 27 | /* Tomorrow Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-pragma, 31 | .hljs-built_in, 32 | .hljs-literal, 33 | .hljs-params, 34 | .hljs-constant { 35 | color: #e78c45; 36 | } 37 | 38 | /* Tomorrow Yellow */ 39 | .ruby .hljs-class .hljs-title, 40 | .css .hljs-rules .hljs-attribute { 41 | color: #e7c547; 42 | } 43 | 44 | /* Tomorrow Green */ 45 | .hljs-string, 46 | .hljs-value, 47 | .hljs-inheritance, 48 | .hljs-header, 49 | .ruby .hljs-symbol, 50 | .xml .hljs-cdata { 51 | color: #b9ca4a; 52 | } 53 | 54 | /* Tomorrow Aqua */ 55 | .css .hljs-hexcolor { 56 | color: #70c0b1; 57 | } 58 | 59 | /* Tomorrow Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #7aa6da; 69 | } 70 | 71 | /* Tomorrow Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #c397d8; 75 | } 76 | 77 | .hljs { 78 | display: block; 79 | background: black; 80 | color: #eaeaea; 81 | padding: 0.5em; 82 | } 83 | 84 | .coffeescript .javascript, 85 | .javascript .xml, 86 | .tex .hljs-formula, 87 | .xml .javascript, 88 | .xml .vbscript, 89 | .xml .css, 90 | .xml .hljs-cdata { 91 | opacity: 0.5; 92 | } 93 | -------------------------------------------------------------------------------- /docs-support/styles/tomorrow-night-eighties.css: -------------------------------------------------------------------------------- 1 | /* Tomorrow Night Eighties Theme */ 2 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */ 3 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 4 | 5 | /* Tomorrow Comment */ 6 | .hljs-comment, 7 | .hljs-title { 8 | color: #999999; 9 | } 10 | 11 | /* Tomorrow Red */ 12 | .hljs-variable, 13 | .hljs-attribute, 14 | .hljs-tag, 15 | .hljs-regexp, 16 | .ruby .hljs-constant, 17 | .xml .hljs-tag .hljs-title, 18 | .xml .hljs-pi, 19 | .xml .hljs-doctype, 20 | .html .hljs-doctype, 21 | .css .hljs-id, 22 | .css .hljs-class, 23 | .css .hljs-pseudo { 24 | color: #f2777a; 25 | } 26 | 27 | /* Tomorrow Orange */ 28 | .hljs-number, 29 | .hljs-preprocessor, 30 | .hljs-pragma, 31 | .hljs-built_in, 32 | .hljs-literal, 33 | .hljs-params, 34 | .hljs-constant { 35 | color: #f99157; 36 | } 37 | 38 | /* Tomorrow Yellow */ 39 | .ruby .hljs-class .hljs-title, 40 | .css .hljs-rules .hljs-attribute { 41 | color: #ffcc66; 42 | } 43 | 44 | /* Tomorrow Green */ 45 | .hljs-string, 46 | .hljs-value, 47 | .hljs-inheritance, 48 | .hljs-header, 49 | .ruby .hljs-symbol, 50 | .xml .hljs-cdata { 51 | color: #99cc99; 52 | } 53 | 54 | /* Tomorrow Aqua */ 55 | .css .hljs-hexcolor { 56 | color: #66cccc; 57 | } 58 | 59 | /* Tomorrow Blue */ 60 | .hljs-function, 61 | .python .hljs-decorator, 62 | .python .hljs-title, 63 | .ruby .hljs-function .hljs-title, 64 | .ruby .hljs-title .hljs-keyword, 65 | .perl .hljs-sub, 66 | .javascript .hljs-title, 67 | .coffeescript .hljs-title { 68 | color: #6699cc; 69 | } 70 | 71 | /* Tomorrow Purple */ 72 | .hljs-keyword, 73 | .javascript .hljs-function { 74 | color: #cc99cc; 75 | } 76 | 77 | .hljs { 78 | display: block; 79 | background: #2d2d2d; 80 | color: #cccccc; 81 | padding: 0.5em; 82 | } 83 | 84 | .coffeescript .javascript, 85 | .javascript .xml, 86 | .tex .hljs-formula, 87 | .xml .javascript, 88 | .xml .vbscript, 89 | .xml .css, 90 | .xml .hljs-cdata { 91 | opacity: 0.5; 92 | } 93 | -------------------------------------------------------------------------------- /docs-support/styles/tomorrow-night.css: -------------------------------------------------------------------------------- 1 | /* Tomorrow Night Theme */ 2 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 3 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */ 4 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 5 | 6 | /* Tomorrow Comment */ 7 | .hljs-comment, 8 | .hljs-title { 9 | color: #969896; 10 | } 11 | 12 | /* Tomorrow Red */ 13 | .hljs-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-regexp, 17 | .ruby .hljs-constant, 18 | .xml .hljs-tag .hljs-title, 19 | .xml .hljs-pi, 20 | .xml .hljs-doctype, 21 | .html .hljs-doctype, 22 | .css .hljs-id, 23 | .css .hljs-class, 24 | .css .hljs-pseudo { 25 | color: #cc6666; 26 | } 27 | 28 | /* Tomorrow Orange */ 29 | .hljs-number, 30 | .hljs-preprocessor, 31 | .hljs-pragma, 32 | .hljs-built_in, 33 | .hljs-literal, 34 | .hljs-params, 35 | .hljs-constant { 36 | color: #de935f; 37 | } 38 | 39 | /* Tomorrow Yellow */ 40 | .ruby .hljs-class .hljs-title, 41 | .css .hljs-rules .hljs-attribute { 42 | color: #f0c674; 43 | } 44 | 45 | /* Tomorrow Green */ 46 | .hljs-string, 47 | .hljs-value, 48 | .hljs-inheritance, 49 | .hljs-header, 50 | .ruby .hljs-symbol, 51 | .xml .hljs-cdata { 52 | color: #b5bd68; 53 | } 54 | 55 | /* Tomorrow Aqua */ 56 | .css .hljs-hexcolor { 57 | color: #8abeb7; 58 | } 59 | 60 | /* Tomorrow Blue */ 61 | .hljs-function, 62 | .python .hljs-decorator, 63 | .python .hljs-title, 64 | .ruby .hljs-function .hljs-title, 65 | .ruby .hljs-title .hljs-keyword, 66 | .perl .hljs-sub, 67 | .javascript .hljs-title, 68 | .coffeescript .hljs-title { 69 | color: #81a2be; 70 | } 71 | 72 | /* Tomorrow Purple */ 73 | .hljs-keyword, 74 | .javascript .hljs-function { 75 | color: #b294bb; 76 | } 77 | 78 | .hljs { 79 | display: block; 80 | background: #1d1f21; 81 | color: #c5c8c6; 82 | padding: 0.5em; 83 | } 84 | 85 | .coffeescript .javascript, 86 | .javascript .xml, 87 | .tex .hljs-formula, 88 | .xml .javascript, 89 | .xml .vbscript, 90 | .xml .css, 91 | .xml .hljs-cdata { 92 | opacity: 0.5; 93 | } 94 | -------------------------------------------------------------------------------- /docs-support/styles/tomorrow.css: -------------------------------------------------------------------------------- 1 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 2 | 3 | /* Tomorrow Comment */ 4 | .hljs-comment, 5 | .hljs-title { 6 | color: #8e908c; 7 | } 8 | 9 | /* Tomorrow Red */ 10 | .hljs-variable, 11 | .hljs-attribute, 12 | .hljs-tag, 13 | .hljs-regexp, 14 | .ruby .hljs-constant, 15 | .xml .hljs-tag .hljs-title, 16 | .xml .hljs-pi, 17 | .xml .hljs-doctype, 18 | .html .hljs-doctype, 19 | .css .hljs-id, 20 | .css .hljs-class, 21 | .css .hljs-pseudo { 22 | color: #c82829; 23 | } 24 | 25 | /* Tomorrow Orange */ 26 | .hljs-number, 27 | .hljs-preprocessor, 28 | .hljs-pragma, 29 | .hljs-built_in, 30 | .hljs-literal, 31 | .hljs-params, 32 | .hljs-constant { 33 | color: #f5871f; 34 | } 35 | 36 | /* Tomorrow Yellow */ 37 | .ruby .hljs-class .hljs-title, 38 | .css .hljs-rules .hljs-attribute { 39 | color: #eab700; 40 | } 41 | 42 | /* Tomorrow Green */ 43 | .hljs-string, 44 | .hljs-value, 45 | .hljs-inheritance, 46 | .hljs-header, 47 | .ruby .hljs-symbol, 48 | .xml .hljs-cdata { 49 | color: #718c00; 50 | } 51 | 52 | /* Tomorrow Aqua */ 53 | .css .hljs-hexcolor { 54 | color: #3e999f; 55 | } 56 | 57 | /* Tomorrow Blue */ 58 | .hljs-function, 59 | .python .hljs-decorator, 60 | .python .hljs-title, 61 | .ruby .hljs-function .hljs-title, 62 | .ruby .hljs-title .hljs-keyword, 63 | .perl .hljs-sub, 64 | .javascript .hljs-title, 65 | .coffeescript .hljs-title { 66 | color: #4271ae; 67 | } 68 | 69 | /* Tomorrow Purple */ 70 | .hljs-keyword, 71 | .javascript .hljs-function { 72 | color: #8959a8; 73 | } 74 | 75 | .hljs { 76 | display: block; 77 | background: white; 78 | color: #4d4d4c; 79 | padding: 0.5em; 80 | } 81 | 82 | .coffeescript .javascript, 83 | .javascript .xml, 84 | .tex .hljs-formula, 85 | .xml .javascript, 86 | .xml .vbscript, 87 | .xml .css, 88 | .xml .hljs-cdata { 89 | opacity: 0.5; 90 | } 91 | -------------------------------------------------------------------------------- /docs-support/styles/vs.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Visual Studio-like style based on original C# coloring by Jason Diamond 4 | 5 | */ 6 | .hljs { 7 | display: block; padding: 0.5em; 8 | background: white; color: black; 9 | } 10 | 11 | .hljs-comment, 12 | .hljs-annotation, 13 | .hljs-template_comment, 14 | .diff .hljs-header, 15 | .hljs-chunk, 16 | .apache .hljs-cbracket { 17 | color: #008000; 18 | } 19 | 20 | .hljs-keyword, 21 | .hljs-id, 22 | .hljs-built_in, 23 | .smalltalk .hljs-class, 24 | .hljs-winutils, 25 | .bash .hljs-variable, 26 | .tex .hljs-command, 27 | .hljs-request, 28 | .hljs-status, 29 | .nginx .hljs-title, 30 | .xml .hljs-tag, 31 | .xml .hljs-tag .hljs-value { 32 | color: #00f; 33 | } 34 | 35 | .hljs-string, 36 | .hljs-title, 37 | .hljs-parent, 38 | .hljs-tag .hljs-value, 39 | .hljs-rules .hljs-value, 40 | .hljs-rules .hljs-value .hljs-number, 41 | .ruby .hljs-symbol, 42 | .ruby .hljs-symbol .hljs-string, 43 | .hljs-aggregate, 44 | .hljs-template_tag, 45 | .django .hljs-variable, 46 | .hljs-addition, 47 | .hljs-flow, 48 | .hljs-stream, 49 | .apache .hljs-tag, 50 | .hljs-date, 51 | .tex .hljs-formula, 52 | .coffeescript .hljs-attribute { 53 | color: #a31515; 54 | } 55 | 56 | .ruby .hljs-string, 57 | .hljs-decorator, 58 | .hljs-filter .hljs-argument, 59 | .hljs-localvars, 60 | .hljs-array, 61 | .hljs-attr_selector, 62 | .hljs-pseudo, 63 | .hljs-pi, 64 | .hljs-doctype, 65 | .hljs-deletion, 66 | .hljs-envvar, 67 | .hljs-shebang, 68 | .hljs-preprocessor, 69 | .hljs-pragma, 70 | .userType, 71 | .apache .hljs-sqbracket, 72 | .nginx .hljs-built_in, 73 | .tex .hljs-special, 74 | .hljs-prompt { 75 | color: #2b91af; 76 | } 77 | 78 | .hljs-phpdoc, 79 | .hljs-javadoc, 80 | .hljs-xmlDocTag { 81 | color: #808080; 82 | } 83 | 84 | .vhdl .hljs-typename { font-weight: bold; } 85 | .vhdl .hljs-string { color: #666666; } 86 | .vhdl .hljs-literal { color: #a31515; } 87 | .vhdl .hljs-attribute { color: #00B0E8; } 88 | 89 | .xml .hljs-attribute { color: #f00; } 90 | -------------------------------------------------------------------------------- /docs-support/styles/xcode.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | XCode style (c) Angel Garcia 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; padding: 0.5em; 9 | background: #fff; color: black; 10 | } 11 | 12 | .hljs-comment, 13 | .hljs-template_comment, 14 | .hljs-javadoc, 15 | .hljs-comment * { 16 | color: #006a00; 17 | } 18 | 19 | .hljs-keyword, 20 | .hljs-literal, 21 | .nginx .hljs-title { 22 | color: #aa0d91; 23 | } 24 | .method, 25 | .hljs-list .hljs-title, 26 | .hljs-tag .hljs-title, 27 | .setting .hljs-value, 28 | .hljs-winutils, 29 | .tex .hljs-command, 30 | .http .hljs-title, 31 | .hljs-request, 32 | .hljs-status { 33 | color: #008; 34 | } 35 | 36 | .hljs-envvar, 37 | .tex .hljs-special { 38 | color: #660; 39 | } 40 | 41 | .hljs-string { 42 | color: #c41a16; 43 | } 44 | .hljs-tag .hljs-value, 45 | .hljs-cdata, 46 | .hljs-filter .hljs-argument, 47 | .hljs-attr_selector, 48 | .apache .hljs-cbracket, 49 | .hljs-date, 50 | .hljs-regexp { 51 | color: #080; 52 | } 53 | 54 | .hljs-sub .hljs-identifier, 55 | .hljs-pi, 56 | .hljs-tag, 57 | .hljs-tag .hljs-keyword, 58 | .hljs-decorator, 59 | .ini .hljs-title, 60 | .hljs-shebang, 61 | .hljs-prompt, 62 | .hljs-hexcolor, 63 | .hljs-rules .hljs-value, 64 | .css .hljs-value .hljs-number, 65 | .hljs-symbol, 66 | .hljs-symbol .hljs-string, 67 | .hljs-number, 68 | .css .hljs-function, 69 | .clojure .hljs-title, 70 | .clojure .hljs-built_in, 71 | .hljs-function .hljs-title, 72 | .coffeescript .hljs-attribute { 73 | color: #1c00cf; 74 | } 75 | 76 | .hljs-class .hljs-title, 77 | .haskell .hljs-type, 78 | .smalltalk .hljs-class, 79 | .hljs-javadoctag, 80 | .hljs-yardoctag, 81 | .hljs-phpdoc, 82 | .hljs-typename, 83 | .hljs-tag .hljs-attribute, 84 | .hljs-doctype, 85 | .hljs-class .hljs-id, 86 | .hljs-built_in, 87 | .setting, 88 | .hljs-params, 89 | .clojure .hljs-attribute { 90 | color: #5c2699; 91 | } 92 | 93 | .hljs-variable { 94 | color: #3f6e74; 95 | } 96 | .css .hljs-tag, 97 | .hljs-rules .hljs-property, 98 | .hljs-pseudo, 99 | .hljs-subst { 100 | color: #000; 101 | } 102 | 103 | .css .hljs-class, 104 | .css .hljs-id { 105 | color: #9B703F; 106 | } 107 | 108 | .hljs-value .hljs-important { 109 | color: #ff7700; 110 | font-weight: bold; 111 | } 112 | 113 | .hljs-rules .hljs-keyword { 114 | color: #C5AF75; 115 | } 116 | 117 | .hljs-annotation, 118 | .apache .hljs-sqbracket, 119 | .nginx .hljs-built_in { 120 | color: #9B859D; 121 | } 122 | 123 | .hljs-preprocessor, 124 | .hljs-preprocessor *, 125 | .hljs-pragma { 126 | color: #643820; 127 | } 128 | 129 | .tex .hljs-formula { 130 | background-color: #EEE; 131 | font-style: italic; 132 | } 133 | 134 | .diff .hljs-header, 135 | .hljs-chunk { 136 | color: #808080; 137 | font-weight: bold; 138 | } 139 | 140 | .diff .hljs-change { 141 | background-color: #BCCFF9; 142 | } 143 | 144 | .hljs-addition { 145 | background-color: #BAEEBA; 146 | } 147 | 148 | .hljs-deletion { 149 | background-color: #FFC8BD; 150 | } 151 | 152 | .hljs-comment .hljs-yardoctag { 153 | font-weight: bold; 154 | } 155 | 156 | .method .hljs-id { 157 | color: #000; 158 | } 159 | -------------------------------------------------------------------------------- /docs-support/styles/zenburn.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Zenburn style from voldmar.ru (c) Vladimir Epifanov 4 | based on dark.css by Ivan Sagalaev 5 | 6 | */ 7 | 8 | .hljs { 9 | display: block; padding: 0.5em; 10 | background: #3F3F3F; 11 | color: #DCDCDC; 12 | } 13 | 14 | .hljs-keyword, 15 | .hljs-tag, 16 | .css .hljs-class, 17 | .css .hljs-id, 18 | .lisp .hljs-title, 19 | .nginx .hljs-title, 20 | .hljs-request, 21 | .hljs-status, 22 | .clojure .hljs-attribute { 23 | color: #E3CEAB; 24 | } 25 | 26 | .django .hljs-template_tag, 27 | .django .hljs-variable, 28 | .django .hljs-filter .hljs-argument { 29 | color: #DCDCDC; 30 | } 31 | 32 | .hljs-number, 33 | .hljs-date { 34 | color: #8CD0D3; 35 | } 36 | 37 | .dos .hljs-envvar, 38 | .dos .hljs-stream, 39 | .hljs-variable, 40 | .apache .hljs-sqbracket { 41 | color: #EFDCBC; 42 | } 43 | 44 | .dos .hljs-flow, 45 | .diff .hljs-change, 46 | .python .exception, 47 | .python .hljs-built_in, 48 | .hljs-literal, 49 | .tex .hljs-special { 50 | color: #EFEFAF; 51 | } 52 | 53 | .diff .hljs-chunk, 54 | .hljs-subst { 55 | color: #8F8F8F; 56 | } 57 | 58 | .dos .hljs-keyword, 59 | .python .hljs-decorator, 60 | .hljs-title, 61 | .haskell .hljs-type, 62 | .diff .hljs-header, 63 | .ruby .hljs-class .hljs-parent, 64 | .apache .hljs-tag, 65 | .nginx .hljs-built_in, 66 | .tex .hljs-command, 67 | .hljs-prompt { 68 | color: #efef8f; 69 | } 70 | 71 | .dos .hljs-winutils, 72 | .ruby .hljs-symbol, 73 | .ruby .hljs-symbol .hljs-string, 74 | .ruby .hljs-string { 75 | color: #DCA3A3; 76 | } 77 | 78 | .diff .hljs-deletion, 79 | .hljs-string, 80 | .hljs-tag .hljs-value, 81 | .hljs-preprocessor, 82 | .hljs-pragma, 83 | .hljs-built_in, 84 | .sql .hljs-aggregate, 85 | .hljs-javadoc, 86 | .smalltalk .hljs-class, 87 | .smalltalk .hljs-localvars, 88 | .smalltalk .hljs-array, 89 | .css .hljs-rules .hljs-value, 90 | .hljs-attr_selector, 91 | .hljs-pseudo, 92 | .apache .hljs-cbracket, 93 | .tex .hljs-formula, 94 | .coffeescript .hljs-attribute { 95 | color: #CC9393; 96 | } 97 | 98 | .hljs-shebang, 99 | .diff .hljs-addition, 100 | .hljs-comment, 101 | .java .hljs-annotation, 102 | .hljs-template_comment, 103 | .hljs-pi, 104 | .hljs-doctype { 105 | color: #7F9F7F; 106 | } 107 | 108 | .coffeescript .javascript, 109 | .javascript .xml, 110 | .tex .hljs-formula, 111 | .xml .javascript, 112 | .xml .vbscript, 113 | .xml .css, 114 | .xml .hljs-cdata { 115 | opacity: 0.5; 116 | } 117 | 118 | -------------------------------------------------------------------------------- /docs-support/tools-osx.mmd: -------------------------------------------------------------------------------- 1 | Title: tools to install on dev system 2 | 3 | # Tools to install on OS X Mavericks development system 4 | 5 | These are the tools that need to be installed to generate and maintain the documentation for this project. 6 | 7 | ## MultiMarkdown 8 | 9 | Download the [MultiMarkdown installer](http://fletcherpenney.net/multimarkdown/download/) and run it. MultiMarkdown is used to convert Markdown text files to HTML files. I installed the package from `MultiMarkdown-Mac-4.5.2.zip`. 10 | 11 | ## node.js 12 | 13 | Download the install kit from the [node.js website](http://nodejs.org/) and run it. I installed `node-v0.10.22.pkg`. 14 | 15 | ## Ruby 16 | 17 | Install `rbenv` via MacPorts, and then install `ruby-build` and `rbenv-gem-rehash` via git: 18 | 19 | ~~~bash 20 | $ sudo port install rbenv 21 | $ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build 22 | $ git clone https://github.com/sstephenson/rbenv-gem-rehash.git ~/.rbenv/plugins/rbenv-gem-rehash 23 | ~~~ 24 | 25 | Run `rbenv init -` and put the resulting script into your `.bash_profile` or equivalent shell initialization script. Then reopen a terminal window to make `rbenv` available (if you get an error trying to run `completions/rbenv.bash`, just comment it out). Install a recent stable version of Ruby and set it to be the global. Then update it. 26 | 27 | ~~~bash 28 | $ rbenv install 2.1.1 29 | $ rbenv global 2.1.1 30 | $ gem update --system 31 | ~~~ 32 | 33 | Install Sass and Compass as per the instructions below, then revert ruby to the system version (assuming your Mac had one; OS X Mavericks does) and use rbenv to just set the ruby+sass+compass version to the docs-support directory, like so: 34 | 35 | ~~~bash 36 | $ rbenv global system 37 | $ cd doc-support # path may vary depending on your current working directory 38 | $ rbenv local 2.1.1 39 | ~~~ 40 | 41 | ## Sass 42 | 43 | [Sass](http://sass-lang.com/) is a CSS preprocessor. To install it, use 44 | the command line, like so: 45 | 46 | ~~~bash 47 | $ gem update --system 48 | $ gem install sass 49 | $ sass -v 50 | ~~~ 51 | 52 | When I did this in March 2014, the version installed was 3.3.4. 53 | 54 | ## Compass 55 | 56 | [Compass](http://compass-style.org/) provides some very useful Sass mixins. 57 | To install it, use the command line, __not__ with _Run as administrator_, 58 | like so: 59 | 60 | ~~~bash 61 | $ gem update --system 62 | $ gem install compass 63 | $ compass -v 64 | ~~~ 65 | 66 | When I did this in March 2014, the version installed was 0.12.4. 67 | 68 | ## highlight.js 69 | 70 | [highlight.js](http://highlightjs.org/) provides syntax highlighting for 71 | text inside `
` blocks. Version is 8.0.
72 | 
73 | I made a custom package that highlights:
74 | 
75 | * Bash
76 | * CSS
77 | * Diff
78 | * Haml
79 | * HTML, XML
80 | * HTTP
81 | * JSON
82 | * JavaScript
83 | * Markdown
84 | * Perl
85 | * Python
86 | * Ruby
87 | * Tex
88 | 
89 | The highlight.js package consist of some JavaScript and a set of CSS stylesheets. I put the JavaScript in the `./js` directory and the stylesheets in the `./styles` directory (which is reserved for highlight.js; Sass generated styles are in the `./css` directory).
90 | 


--------------------------------------------------------------------------------
/docs-support/tools-windows.mmd:
--------------------------------------------------------------------------------
 1 | Title: tools to install on dev system
 2 | 
 3 | # Tools to install on VS2013 development system
 4 | 
 5 | ## MultiMarkdown
 6 | 
 7 | Download the [MultiMarkdown installer](http://fletcherpenney.net/multimarkdown/download/) 
 8 | and run it. MultiMarkdown is used to convert Markdown text files to HTML files.
 9 | I installed `MMD-windows-4.4.2.exe`.
10 | 
11 | ## node.js
12 | 
13 | Download the install kit from the [node.js website](http://nodejs.org/) and 
14 | run it. I installed `node-v0.10.23-x64.msi`.
15 | 
16 | ## Ruby
17 | 
18 | Download the [Windows Ruby Installer](http://rubyinstaller.org/downloads/) and
19 | run it. I used the 64-bit stable version `rubyinstaller-2.0.0-p353-x64.exe`.
20 | 
21 | During the install, make sure that you __check__ both:
22 | 
23 | * Add Ruby executables to your PATH
24 | * Associate .rb and .rbw files with this Ruby installation
25 | 
26 | ## SASS
27 | 
28 | [Sass](http://sass-lang.com/) is a CSS preprocessor. To install it, use 
29 | the command line, 
30 | __not__ with _Run as administrator_, like so:
31 | 
32 | 	gem update --system
33 | 	gem install sass -v 3.2.12
34 | 
35 | 
36 | ## Compass
37 | 
38 | [Compass](http://compass-style.org/) provides some very useful Sass mixins.
39 | To install it, use the command line, __not__ with _Run as administrator_,
40 | like so:
41 | 
42 | 	gem update --system
43 | 	gem install compass -v 0.12.2
44 | 
45 | ## highlight.js
46 | 
47 | [highlight.js](http://highlightjs.org/) provides syntax highlighting for
48 | text inside `
` blocks. Version is 8.0.
49 | 
50 | I made a custom package that highlights:
51 | 
52 | * C#
53 | * C++
54 | * CSS
55 | * HTML, XML
56 | * HTTP
57 | * JSON
58 | * JavaScript
59 | 


--------------------------------------------------------------------------------
/docs/.gitignore:
--------------------------------------------------------------------------------
1 | .ruby-version
2 | *.html
3 | css/
4 | js/
5 | styles/
6 | 


--------------------------------------------------------------------------------
/docs/devguide.mmd:
--------------------------------------------------------------------------------
 1 | Title: MarkdownTools Developer Guide
 2 | HTML Header:    
 3 |     
 4 |     
 5 |     
 6 |     
 7 | 
 8 | [rtoc]: #roottoc "Table of Contents" class=backref
 9 | 
10 | # MarkdownTools Developer Guide [roottoc]
11 | 
12 | ------
13 | 
14 | * [mdmerge Specifications][spectoc]
15 | * [Setting up Python Virtual Environments][venvtoc]
16 | * [Git procedures for the project][gittoc]
17 | 
18 | ------
19 | 
20 | <<[specifications.mmd]
21 | 
22 | <<[venv.mmd]
23 | 
24 | <<[git-procedures.mmd]
25 | 


--------------------------------------------------------------------------------
/docs/git-procedures.mmd:
--------------------------------------------------------------------------------
  1 | Title: Git procedures for the project
  2 | 
  3 | [gtoc]: #gittoc "Section Contents" class=backref
  4 | 
  5 | # Git procedures for the project [⇑][rtoc] [gittoc]
  6 | 
  7 | * [Branch naming][gitbra]
  8 | * [Tag naming][gittag]
  9 | * [Creating the local respository][gitlcl]
 10 | * [Setting your prompt to show the current branch][gitcur]
 11 | * [Topic branch workflow][gittop]
 12 |     - [Create the topic branch][]
 13 |     - [Commit early and often][]
 14 |     - [Rebase the topic branch before merging][]
 15 |     - [Merge the topic branch][]
 16 |     - [Delete the topic branch][]
 17 |     - [Push the commit][]
 18 | * [Merging changes between python2 and python3 branches][gitmrg]
 19 | * [Making a release][gitrel]
 20 | 
 21 | These are the procedures I use for managing the local and remote git repos for this project. I use the command line for all my git work on this project.
 22 | 
 23 | If you primarily use a GUI tool, then much of this might not be helpful. However, if you want to contribute, or you just want to understand what I could possibly have been thinking when I set all this up, then you should still read these sections:
 24 | 
 25 | * [Branch naming][]
 26 | * [Tag naming][]
 27 | 
 28 | ## Branch naming [⇑][gtoc] [gitbra]
 29 | 
 30 | The main production code lives in these branches. There are stable branches:
 31 | 
 32 | * `master`
 33 | * `python2/stable`
 34 | * `python3/stable`
 35 | 
 36 | Those contain the 1.0, 1.1, etc. versions.
 37 | 
 38 | There are the current development branches:
 39 | 
 40 | * `master.dev`
 41 | * `python2/dev`
 42 | * `python3/dev`
 43 | 
 44 | They contain the 1.0rc1, 1.0rc2, 1.1a, 1.1b, etc. versions.
 45 | 
 46 | Topic branches are used to work on a specific feature or defect. They are the same as a stable or dev branch, appended with a short topic name that always starts with "`.t-`". For example, the branch `python3/dev.t-addFailTests` would be the name of a topic branch that would be used to create some additional tests for some illconditioned inputs or other specific failure cases; the branch `python3/stable.t-issue123` would be the name of a topic branch for a fix to address a particular issue in a released version of the code.
 47 | 
 48 | ## Tag naming [⇑][gtoc] [gittag]
 49 | 
 50 | Tags are assigned when a stable or dev version is released. The tag name has the form "v{version}/{branch-root}", like this:
 51 | 
 52 | * `v1.0rc3/master`
 53 | * `v1.0rc3/python2`
 54 | * `v1.0rc3/python3`
 55 | 
 56 | The message on the tag is similar to the name. The message has the form "{version} {branch-root}". So a command to add a tag might look like:
 57 | 
 58 | ```bash
 59 | $ git tag -a v1.0rc4/master -m "v1.0rc4 master"
 60 | ```
 61 | 
 62 | ## Creating the local respository [⇑][gtoc] [gitlcl]
 63 | 
 64 | This command creates the local repository and adds a local branch "`master`" that tracks the remote `origin\master` branch.
 65 | 
 66 | ```bash
 67 | $ git clone https://github.com/JeNeSuisPasDave/MarkdownTools.git
 68 | ```
 69 | 
 70 | You'll need to create local branches for any other branch you work in, and make sure they track the corresponding remote branch. For example:
 71 | 
 72 | ```bash
 73 | $ git branch --track python2/dev origin/python2/dev
 74 | $ git branch --track python3/dev origin/python3/dev
 75 | ```
 76 | 
 77 | The `git branch -vv` command will show you the remote branch, if any, assocated with each local branch.
 78 | 
 79 | ## Setting your prompt to show the current branch [⇑][gtoc] [gitcur]
 80 | 
 81 | It is helpful to know what branch you are in and whether the branch is dirty. If you are using a bash shell, then you can add this bit of code to your `.bash_profile`. It will show the current branch (if any) and a dirty flag (`*`) in cyan, the current directory in green, and then move the cursor to the start of the next line.
 82 | 
 83 | ```bash
 84 | # produce a '*' if the git status is 'dirty'
 85 | #
 86 | function parse_git_dirty {
 87 | [[ $(git status 2> /dev/null | tail -n1) \
 88 |   != "nothing to commit, working directory clean" ]] \
 89 | && echo "*"
 90 | }
 91 | 
 92 | # produce the current git branch name
 93 | #
 94 | function parse_git_branch {
 95 | git branch --no-color 2> /dev/null \
 96 |   | sed -e '/^[^*]/d' -e "s/* \(.*\)/[\1$(parse_git_dirty)]/"
 97 | }
 98 | 
 99 | # Black       0;30     Dark Gray     1;30
100 | # Blue        0;34     Light Blue    1;34
101 | # Green       0;32     Light Green   1;32
102 | # Cyan        0;36     Light Cyan    1;36
103 | # Red         0;31     Light Red     1;31
104 | # Purple      0;35     Light Purple  1;35
105 | # Brown       0;33     Yellow        1;33
106 | # Light Gray  0;37     White         1;37
107 | #
108 | PS1="\w\$ "
109 | PS1="\[\033[1;36m\]\$(parse_git_branch)\[\033[1;32m\]\w\$\[\033[0m\]\n"
110 | export PS1
111 | 
112 | ```
113 | 
114 | 
115 | ## Topic branch workflow [⇑][gtoc] [gittop]
116 | 
117 | Let's suppose you want to fix a reported issue. You start looking at the code in the python3/stable branch.
118 | 
119 | ### Create the topic branch
120 | 
121 | The first thing you *should* do is to create a topic branch. Like this:
122 | 
123 | ```bash
124 | $ git checkout -b python3/stable.t-issue45
125 | ```
126 | 
127 | But often you just start working until you realize are working in a main branch and it is dirty and you neglected to create the topic branch. That's OK because you can *still* use that same command to create the topic branch (as long as you haven't done a `git add` or `git commit` you are free to create the topic branch without any trouble).
128 | 
129 | ### Commit early and often
130 | 
131 | A topic branch gives you lots of freedom and lots of privacy. Unless you push it to the remote, no one else is going to see what you are doing. Therefore there are no constraints to how often you can make commits or how stable you think the code is that you are committing. Feel free to commit as often as you'd like. And when you commit, make a nice commit comment that explains what you are doing and why you are doing it. Don't worry about how the commit message reads; just give it as much information as you can so that when you read it again later next week you'll have some idea what you were talking about.
132 | 
133 | Besides the intrinsic value of commits as checkpoints and signposts in the history of the code, why is it OK to make lots of little commits and to commit breaking changes or partial work? Because you are going to clean all that up before you merge your change back into the main production or dev branches.
134 | 
135 | ### Rebase the topic branch before merging
136 | 
137 | The goal is to do a single commit from the topic branch back to the main branch, and to make that commit a fast-forward commit, not a merge. Doing so requires two preparation steps:
138 | 
139 | 1. Rebase from the main branch
140 | 2. Squash topic branch commits
141 | 
142 | The main branch might have changed since the point at which you created the topic branch. If those changes are in the same files you've been changing in the topic branch, then a merge needs to happen. And the best place for the merge to happen is in the topic branch. That is because we don't want to see those merge commits in the main branch, and because doing the merge in the topic branch gives you time to test the merged code and be sure everything is still working, or correct any problems the merge introduced.
143 | 
144 | #### Rebase from the main branch
145 | 
146 | To bring the main branch changes into the topic branch, you want to rebase. Assuming that we have a topic branch called `python3/dev.t-something`, the commands looks like:
147 | 
148 | ```bash
149 | $ git checkout python3/dev
150 | $ git fetch origin
151 | $ git merge --ff-only origin/python3/dev
152 | $ git checkout python3/dev.t-something
153 | $ git rebase python3/dev
154 | ```
155 | 
156 | If `git rebase` stops prematurely due to a merge conflict, you can resolve the conflict (make sure to update the index with `git add --all .`) and then use the command `git rebase --continue` to proceed with the remaining steps of the rebase. If the merge conflict needs to be addressed later or in some other way, then you can use the command `git rebase --abort` to roll back the rebase.
157 | 
158 | #### Squash topic branch commits
159 | 
160 | Your topic branch will contain, typically, a lot of commits. But you don't want to pollute the main branch with all those little changes. To address this you squash the commits together into a single commit with a single lucid and complete message. The commands to do that look like:
161 | 
162 | ```bash
163 | $ git checkout python3/dev.t-something
164 | $ git rebase --interactive python3/dev
165 | ```
166 | 
167 | What that does it throw you into `vim`, or whatever your default editor is, with a list of commits, each beginning with the word "pick". You need to change each and every one of those "pick"s to a "squash" or an "s", then save the "file". You'll next be presented with a combined checking message, a concatenation of all the commit messages from all the commits in the topic branch back to the beginning of the main branch. Edit that text until it describes the change you are about to merge into the main branch.
168 | 
169 | ### Merge the topic branch
170 | 
171 | Then you use the following commands (branch names changes as appropriate) to merge the topic branch change into the main branch:
172 | 
173 | ```bash
174 | $ git checkout python3/dev
175 | $ git merge --ff-only python3/dev.t-something
176 | ```
177 | 
178 | If a fast forward merge cannot be done, then you'll need to update the main branch and rebase the topic branch (as per step 1); then repeat step 2. Again, we want to do merging and conflict resolution on a topic branch, not the main branch.
179 | 
180 | ### Push the commit
181 | 
182 | Push the commit to the remote repository. With the main branch still checked out, use the following command.
183 | 
184 | ```bash
185 | $ git push origin
186 | ```
187 | 
188 | ### Delete the topic branch
189 | 
190 | Once the changes are squashed and merged back into the main branch, there is no reason to keep the topic branch around, so you should delete it.
191 | 
192 | ```bash
193 | $ git branch -d python3/dev.t-something
194 | ```
195 | 
196 | If you had pushed the topic branch to the remote repository (perhaps you were collaborating with other developers on it) then you can delete the remote branch with this command.
197 | 
198 | ```bash
199 | $ git push origin :python3/dev.t-something
200 | ```
201 | 
202 | ## Merging changes between python2 and python3 branches [⇑][gtoc] [gitmrg]
203 | 
204 | Typically you will work primarily with one version of Python, with one branch of the code. Once everything is working with that verion of Python, you will port the changes to the branch associated with the other version of Python. I recommend starting with Python 3 for anything that is not specifically a Python 2 issue.
205 | 
206 | When it comes time to port the changes from the Python 3 branch to the Python 2 branch, I use a different command for injecting a new file versus modifying an existing file.
207 | 
208 | To insert a new file from the Python 3 branch into the Python 2 branch, you can do something like this:
209 | 
210 | ```bash
211 | $ git show python3/dev.t-something:tests/data/interesting-new-issue.md tests/data/interesting-new-issue.md
212 | ```
213 | 
214 | To merge changes to an existing file, you can use this command:
215 | 
216 | ```bash
217 | $ git checkout -p python3/dev.t-something tests/test_MarkdownMerge.py
218 | ```
219 | 
220 | That will produce a patch and then interactively prompt you to accept or reject each difference. `y` to accept, `n` to reject, and `a` to accept every remaining difference. Sometimes the difference displayed is actually several short differences; if you only want a subset of those smaller differences, then `s` will split the bundled differences and let you select just the ones you want. Other options are available.
221 | 
222 | Of course, deleting a file is straightforward:
223 | 
224 | ```bash
225 | $ git rm tests/data/no-longer-used.mmd
226 | ```
227 | 
228 | ## Making a release [⇑][gtoc] [gitrel]
229 | 
230 | When a release is ready to publish, the following steps are required:
231 | 
232 | 1. Both the `python2/*` and `python3/*` branches unit tests pass.
233 | 2. The version number in `__init__.py` is changed to match the new release.
234 | 3. The `CHANGELOG.md` file in the `master` or `master.dev` branch has been updated to reflect the changes.
235 | 4. All the local commits to the three main branches have been pushed to the remote repository.
236 | 5. The `makedist.sh` and `uploaddist.sh` scripts have been run for both the `python2/*` and `python3/*` branches.
237 | 
238 | With the successful completion of those steps, the release is nearly complete. The only remaining step is to tag the release commits. The best way to do that is to checkout each main branch (dev or stable) and tag each, then push to the remote repository. For example:
239 | 
240 | ```bash
241 | $ git checkout python2/stable
242 | $ git tag -a v1.0.2/python2 -m "v1.0.2 python2"
243 | $ git checkout python3/stable
244 | $ git tag -a v1.0.2/python3 -m "v1.0.2 python3"
245 | $ git checkout main/stable
246 | $ git tag -a v1.0.2/main -m "v1.0.2 main"
247 | $ git push --tags origin
248 | ```
249 | 
250 | 


--------------------------------------------------------------------------------
/docs/make-docs.cmd:
--------------------------------------------------------------------------------
 1 | @echo off
 2 | @cd ..\design
 3 | @call .\make-docs.cmd
 4 | @copy *.html ..\docs /y
 5 | @copy *.png ..\docs /y
 6 | @cd ..\AdaptiveModelingWorkflowApi\docs
 7 | @call .\make-docs.cmd
 8 | @copy *.html ..\..\docs /y
 9 | @cd ..\..\ModelUpdateApi\docs
10 | @call .\make-docs.cmd
11 | @copy *.html ..\..\docs /y
12 | @cd ..\..\docs
13 | @IF NOT EXIST .\css MKDIR css
14 | @ROBOCOPY /NS /NC /NFL /NDL /NP /NJH /NJS /S /MIR ..\docs-support\css .\css
15 | @IF NOT EXIST .\js MKDIR js
16 | @ROBOCOPY /NS /NC /NFL /NDL /NP /NJH /NJS /S /MIR ..\docs-support\js .\js
17 | @IF NOT EXIST .\styles MKDIR styles
18 | @ROBOCOPY /NS /NC /NFL /NDL /NP /NJH /NJS /S /MIR ..\docs-support\styles .\styles
19 | 


--------------------------------------------------------------------------------
/docs/make-docs.sh:
--------------------------------------------------------------------------------
 1 | #! /bin/bash
 2 | #
 3 | 
 4 | # build the styles
 5 | #
 6 | pushd ../docs-support > /dev/null
 7 | ./make-docs.sh
 8 | popd > /dev/null
 9 | 
10 | # update the styles and JavaScript in this docs folder
11 | #
12 | [ -d "css" ] || mkdir css
13 | [ -d "js" ] || mkdir js
14 | [ -d "styles" ] || mkdir styles
15 | curDir=`pwd`
16 | rootDir=${curDir%/*}
17 | rsync -a $rootDir/docs-support/css/ $curDir/css
18 | rsync -a $rootDir/docs-support/js/ $curDir/js
19 | rsync -a $rootDir/docs-support/styles/ $curDir/styles
20 | 
21 | # generate the html
22 | #
23 | mdmerge devguide.mmd | multimarkdown > devguide.html


--------------------------------------------------------------------------------
/docs/specifications.mmd:
--------------------------------------------------------------------------------
  1 | Title: mdmerge Specifications
  2 | 
  3 | [stoc]: #spectoc "Section Contents" class=backref
  4 | 
  5 | # mdmerge Specifications [⇑][rtoc] [spectoc]
  6 | 
  7 | * [unresolved issues][specissues]
  8 | * [filepaths][specpaths]
  9 | * [Interpreting index files][specidxs]
 10 |     - [LeanPub index files][]
 11 |     - [mmd_merge index files][]
 12 | * [Interpreting include declarations][specdecl]
 13 |     - [MultiMarkdown transclusion syntax][]
 14 |     - [Marked inclusion syntax][]
 15 |     - [LeanPub code inclusion syntax][]
 16 | * [Command Line Syntax][speccli]
 17 |     - [options][]
 18 | 
 19 | ## unresolved issues [⇑][stoc] [specissues]
 20 | 
 21 | *Note: These are just issues I've thought about addressing; no active plans to fix these at the moment.*
 22 | 
 23 | * error handling should be configurable ... output html error page, output system exit code, fail silently, et cetera.
 24 | * handle missing files in CLI better
 25 | * need unit tests for absolute file paths
 26 | * need unit tests for home (`~`) file paths
 27 | * perhaps it should strip trailing line breaks? (i.e. so that included files only have one terminating `'\n'`)
 28 | 
 29 | ## filepaths [⇑][stoc] [specpaths]
 30 | 
 31 | Unless otherwise specified, all file path are specified as:
 32 | 
 33 | * Absolute (starts with `/`)
 34 | * Home (starts with `~/`) in which the tilde means the users home directory
 35 | * Relative (starts with something other than `/` or `~/`) to the file that includes them.
 36 | 
 37 | ## Interpreting index files [⇑][stoc] [specidxs]
 38 | 
 39 | ### LeanPub index files
 40 | 
 41 | If the first line of the file is `frontmatter:` then the file is recognized as a LeanPub index file. If the filename is `book.txt` and the CLI option `--leanpub` was used, then the file is recognized as a Leanpub index file (whether or not it contains a `frontmatter:` line).
 42 | 
 43 | The processing rules for **LeanPub index files** are:
 44 | 
 45 | 1. The remaining lines are treated as filepaths of files to be merged together.
 46 | 1. Blank lines are ignored
 47 | 1. Lines beginning with a `#` are ignored
 48 | 1. Lines consisting of `frontmatter:`, `mainmatter:`, and `backmatter:` are ignored.
 49 | 1. Lines that specify invalid file syntax or specify files that don't exist will be ignored, except that a warning message will be written to stderr.
 50 | 1. Leading whitespace is ignored
 51 | 1. A blank line is inserted between merged files
 52 | 
 53 | The filepaths in the index file can be absolute, relative to the index file, and can use the `~` syntax for the user's home directory.
 54 | 
 55 | ### mmd_merge index files
 56 | 
 57 | If the first line of the file is `#merge` then the file is recognized a mmd_merge index file.
 58 | 
 59 | The processing rules for **mmd_merge index files** are:
 60 | 
 61 | 1. The remaining lines are treated as filepaths of files to be merged together.
 62 | 1. Blank lines are ignored
 63 | 1. Lines beginning with a `#` are ignored
 64 | 1. Lines consisting of `frontmatter:`, `mainmatter:`, and `backmatter:` are ignored.
 65 | 1. Lines that specify invalid file syntax or specify files that don't exist will be ignored, except that a warning message will be written to stderr.
 66 | 1. Leading whitespace is significant in that each tab or every 4 spaces is treated as an increase in header level (so a single tab indent would change convert an h1 to an h2; a double tab indent would convert an h1 to an h3).
 67 | 1. A blank line is inserted between merged files
 68 |     
 69 |     From the insource documentation of the mmd_merge utility:
 70 | 
 71 |     > This script is designed to allow you to use different files to store parts of a larger MultiMarkdown document, making it easier to reorganize the document if you so desire. Each line consists of the url or filename of the next document. If the line is indented, each tab (or 4 spaces) will increase the header level of the document by 1 (similar to the `Base Header Level` metadata). Blank lines are ignored. Lines starting with `#` are treated as comments. Only metadata from the first file would be properly handles, since it would be the only metadata at the top of the new "virtual" document.
 72 | 
 73 | The filepaths in the index file can be absolute, relative to the index file, and can use the `~` syntax for the user's home directory.
 74 | 
 75 | ## Interpreting include declarations [⇑][stoc] [specdecl]
 76 | 
 77 | ### MultiMarkdown transclusion syntax
 78 | 
 79 | The transclusion syntax was introduced in MultiMarkdown 4.5. An include declaration is matched as a **MultiMarkdown file transclusion** if it has the following form:
 80 | 
 81 | 1. A blank line, followed by 
 82 | 1. A line containing only `{{filepath}}`, followed by 
 83 | 1. Another blank line.
 84 | 
 85 | The filepath can be absolute, relative to the root file, and can use the `~` syntax for the user's home directory.
 86 | 
 87 | Files included in this manner will themselves be examined for further include declarations or as index files.
 88 | 
 89 | Another format matching MultiMarkdown file transclusion is:
 90 | 
 91 | 1. A blank line, followed by 
 92 | 1. A code fence start (e.g. `` ``` `` or `` ```python `` or similar, followed by
 93 | 1. A line containing only `{{filepath}}`, followed by 
 94 | 1. A code fence termination (e.g. `` ``` ``), followed by
 95 | 1. Another blank line.
 96 | 
 97 | The filepath can be absolute, relative to the root file, and can use the `~` syntax for the user's home directory.
 98 | 
 99 | Files matched in this manner will not be examined for further include declarations or index file specification. They will be included as is, including trailing line breaks.
100 | 
101 | In any case the filename may be specified with a wildcard file extension (e.g., `name.*`). In this case MultiMarkdown will substitute an extension by the export format. This utility will substitute the wildcard in one of these ways:
102 | 
103 | * If the command line flag `--export-target html` is specified, replace `.*` with `.html`
104 | * If the command line flag `--export-target latex` is specified, replace `.*` with `.tex`
105 | * If the command line flag `--export-target lyx` is specified, replace `.*` with `.lyx`
106 | * If the command line flag `--export-target opml` is specified, replace `.*` with `.opml`
107 | * If the command line flag `--export-target rtf` is specified, replace `.*` with `.rtf`
108 | * If the command line flag `--export-target odf` is specified, replace `.*` with `.odf`
109 | * If the command line flag `--export-target` is unspecified, replace `.*` with the same extension as the current file (the file containing the include declaration)
110 | 
111 | ### Marked inclusion syntax
112 | 
113 | A declaration is matched as a **Marked inclusion** if it has the form:
114 | 
115 | 1. A blank line, followed by 
116 | 2. A line containing only `<<[filepath]`, followed by 
117 | 3. Another blank line.
118 | 
119 | The filepath can be absolute, relative to the root file, and can use the `~` syntax for the user's home directory.
120 | 
121 | ### Marked raw file inclusion syntax
122 | 
123 | A declaration is matched as a **Marked raw file inclusion** if it has the form:
124 | 
125 | 1. A blank line, followed by
126 | 2. A line containing only `<<{filepath}`, followed by
127 | 3. Another blank line.
128 | 
129 | The filepath can be absolute, relative to the root file, and can use the `~` syntax for the user's home directory.
130 | 
131 | Raw file processing is affected by the `--just-raw` CLI option. If not specified, then all raw file specifications lines are converted to HTML comment lines ... like ``. However, if the `--just-raw` CLI option is specified, then **only** raw file specifications are process (including those inside HTML comments) and other kinds of include specifications are ignore.
132 | 
133 | The specified file is just inserted as is into the output text. Raw files are not processed for additional include statements.
134 | 
135 | ### LeanPub code inclusion syntax
136 | 
137 | A declaration is matched as **LeanPub code inclusion** if it has the form:
138 | 
139 | 1. A blank line, followed by 
140 | 2. A line containing only `<<(filepath)`, followed by 
141 | 3. Another blank line.
142 | 
143 | The filepath can be absolute, relative to the root file, and can use the `~` syntax for the user's home directory.
144 | 
145 | An declaration is also matched as LeanPub code inclusion if it has the form:
146 | 
147 | 1. A blank line, followed by 
148 | 2. A line containing only `<<[code title](filepath)`, followed by 
149 | 3. Another blank line.
150 | 
151 | The filepath can be absolute, relative to the root file, and can use the `~` syntax for the user's home directory.
152 | 
153 | In this form, however, the text in `[code title]` is *not* used as a caption (although that is what LeanPub would do); it is ignored.
154 | 
155 | Note: Unlike Marked inclusion, wildcard file extension substitution is not performed with LeanPub code inclusion.
156 | 
157 | ## Command Line Syntax [⇑][stoc] [speccli]
158 | 
159 | The command line looks like this:
160 | 
161 | ```no-highlight
162 | mdmerge [options] [-o outputfile] inputfiles
163 | mdmerge [options] [-o outputfile] -
164 | ```
165 | 
166 | ### options
167 | 
168 | `options`
169 | :   One or more of `--book`, `--export-target`, `--ignore-transclusions`, `--just-raw`, `--leanpub`, `--version`, `--help`, `-h`, `-?`.
170 | 
171 | `--book`
172 | :   Treat STDIN as an index file (a "book" file).
173 | 
174 | `--export-target [html|latex|lyx|opml|rtf|odf]`
175 | :   Indicates the ultimate output target of the markdown processor, but primarily impacts wildcard substitution in Marked inclusion.
176 | 
177 | `--ignore-transclusions`
178 | :   Leave any MultiMarkdown transclusion specifications alone; do not include
179 | the specified file. Useful if you want to mix Marked/LeanPub includes and
180 | MultiMarkdown includes, but have MultiMarkdown handline the transclusions.
181 | 
182 | `--just-raw`
183 | :   Ignore all include specifications except for raw includes; useful for
184 | processing the output of the Markdown processor to pick up the raw file include
185 | specifications that should have passed through untouched.
186 | 
187 | `--leanpub`
188 | :   Indicates that any input file named `book.txt` should be treated as a LeanPub index file.
189 | 
190 | `--version`
191 | :   Gives the version information about the utility.
192 | 
193 | `-o outputfile`
194 | :   The filepath in which to store the merged text. If not specified, then STDOUT is used.
195 | 
196 | `--outfile outputfile`
197 | :   same as `-o`.
198 | 
199 | `inputfiles`
200 | :   A list of space separated input files that can be merged together. If multiple files are given, they are treated as if they were specified in a LeanPub index file.
201 | 
202 | `-`
203 | :   The input comes from STDIN.
204 | 
205 | `--help`
206 | :   Help information
207 | 
208 | `-h`
209 | :   Help information
210 | 
211 | `-?`
212 | :   Help information
213 | 


--------------------------------------------------------------------------------
/docs/venv.mmd:
--------------------------------------------------------------------------------
 1 | Title: Setting up Python Virtual Environments
 2 | 
 3 | [vtoc]: #venvtoc "Section Contents" class=backref
 4 | 
 5 | # Setting up Python Virtual Environments [⇑][rtoc] [venvtoc]
 6 | 
 7 | * [Installing the virtualenv package][venvinstall]
 8 | * [Creating virtual environments][venvcreate]
 9 | * [Activating the virtual environment][venvact]
10 | * [Deactivating the virtual environment][venvdeact]
11 | 
12 | This project delivers both a Python 2 and Python 3 release. It needs to be tested in multiple versions of Python. The best way to do that is to setup virtal Python environments that you can easily switch between. I like using `virtualenv` to do that.
13 | 
14 | I am assuming here that you have both Mac Ports python27 and python33 installed on your OS X system. If you use brew or fink or something similar, you can make the necessary adjustments in the location of the respective Python framework paths.
15 | 
16 | ## Installing the virtualenv package [⇑][vtoc] [venvinstall]
17 | 
18 | To install virtualenv, use either:
19 | 
20 | ```bash
21 | $ sudo /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin/pip install virtualenv
22 | $ sudo /opt/local/Library/Frameworks/Python.framework/Versions/3.3/bin/pip install virtualenv
23 | ```
24 | 
25 | or
26 | 
27 | ```bash
28 | $ sudo /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin/easy_install install virtualenv
29 | $ sudo /opt/local/Library/Frameworks/Python.framework/Versions/3.3/bin/easy_install install virtualenv
30 | ```
31 | 
32 | ## Creating virtual environments [⇑][vtoc] [venvcreate]
33 | 
34 | ### Setting up a Python 2.7 virtual environment
35 | 
36 | ```bash
37 | $ cd myproject
38 | $ /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenv venv27
39 | ```
40 | 
41 | ### Setting up a Python 3.3 virtual environment
42 | 
43 | ```bash
44 | $ cd myproject
45 | $ /opt/local/Library/Frameworks/Python.framework/Versions/3.3/bin/virtualenv venv33
46 | ```
47 | 
48 | ## Activating the virtual environment [⇑][vtoc] [venvact]
49 | 
50 | ### Activating the Python 2.7 virtual environment
51 | 
52 | ```bash
53 | $ cd myproject
54 | $ . venv27/bin/activate
55 | (venv27)$ python --version
56 | Python 2.7.6
57 | (venv27)$
58 | ```
59 | 
60 | ### Activating the Python 3.3 virtual environment
61 | 
62 | ```bash
63 | $ cd myproject
64 | $ . venv33/bin/activate
65 | (venv33)$ python --version
66 | Python 3.3.4
67 | (venv33)$
68 | ```
69 | 
70 | ## Deactivating the virtual environment [⇑][vtoc] [venvdeact]
71 | 
72 | ### Deactivating the Python 2.7 virtual environment
73 | 
74 | ```bash
75 | (venv27)$ deactivate
76 | $ python --version
77 | Python 2.7.5
78 | $
79 | ```
80 | 
81 | ### Deactivating the Python 3.3 virtual environment
82 | 
83 | ```bash
84 | (venv33)$ deactivate
85 | $ python --version
86 | Python 2.7.5
87 | $
88 | ```
89 | 


--------------------------------------------------------------------------------