223 lines
14 KiB
HTML
223 lines
14 KiB
HTML
<!DOCTYPE html>
|
||
<html class="no-js" lang="en">
|
||
<head>
|
||
<title>Creating a Theme - DAUX.IO</title>
|
||
<meta name="description" content="The Easiest Way To Document Your Project">
|
||
<meta name="author" content="Stéphane Goetz">
|
||
<meta charset="UTF-8">
|
||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||
|
||
<link rel="icon" href="../themes/daux/img/favicon-blue.png" type="image/x-icon">
|
||
|
||
<!-- Mobile -->
|
||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
|
||
<!-- Font -->
|
||
|
||
<!-- CSS -->
|
||
<link href='../themes/daux/css/theme-blue.min.css' rel='stylesheet' type='text/css'>
|
||
<!-- Tipue Search -->
|
||
<link href="../tipuesearch/tipuesearch.css" rel="stylesheet">
|
||
|
||
<!--[if lt IE 9]>
|
||
<script src="../themes/daux/js/html5shiv-3.7.3.min.js"></script>
|
||
<![endif]-->
|
||
</head>
|
||
<body class="with-float ">
|
||
<div class="Columns content">
|
||
<aside class="Columns__left Collapsible">
|
||
<button type="button" class="Button Collapsible__trigger">
|
||
<span class="Collapsible__trigger__bar"></span>
|
||
<span class="Collapsible__trigger__bar"></span>
|
||
<span class="Collapsible__trigger__bar"></span>
|
||
</button>
|
||
|
||
<a class="Brand" href="../index.html">DAUX.IO</a>
|
||
|
||
<div class="Search">
|
||
<svg class="Search__icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 451 451">
|
||
<path d="M447.05 428l-109.6-109.6c29.4-33.8 47.2-77.9 47.2-126.1C384.65 86.2 298.35 0 192.35 0 86.25 0 .05 86.3.05 192.3s86.3 192.3 192.3 192.3c48.2 0 92.3-17.8 126.1-47.2L428.05 447c2.6 2.6 6.1 4 9.5 4s6.9-1.3 9.5-4c5.2-5.2 5.2-13.8 0-19zM26.95 192.3c0-91.2 74.2-165.3 165.3-165.3 91.2 0 165.3 74.2 165.3 165.3s-74.1 165.4-165.3 165.4c-91.1 0-165.3-74.2-165.3-165.4z"/>
|
||
</svg>
|
||
<input type="search" id="tipue_search_input" class="Search__field" placeholder="Search..." autocomplete="on"
|
||
results=25 autosave=text_search>
|
||
</div>
|
||
|
||
<div class="Collapsible__content">
|
||
<!-- Navigation -->
|
||
<ul class='Nav'><li class='Nav__item '><a href="../Getting_Started.html">Getting Started</a></li><li class='Nav__item has-children'><a href="../Features/Auto_Syntax_Highlight.html" class="folder"><i class="Nav__arrow"> </i>Features</a><ul class='Nav'><li class='Nav__item '><a href="../Features/Auto_Syntax_Highlight.html">Auto Syntax Highlight</a></li><li class='Nav__item '><a href="../Features/CommonMark_compliant.html">CommonMark compliant</a></li><li class='Nav__item '><a href="../Features/Edit_on_GitHub_links.html">Edit on GitHub links</a></li><li class='Nav__item '><a href="../Features/Front_Matter.html">Front Matter</a></li><li class='Nav__item '><a href="../Features/Internal_links.html">Internal links</a></li><li class='Nav__item '><a href="../Features/Landing_page.html">Landing page</a></li><li class='Nav__item '><a href="../Features/Live_mode.html">Live mode</a></li><li class='Nav__item '><a href="../Features/Multilanguage.html">Multilanguage</a></li><li class='Nav__item '><a href="../Features/Multiple_Output_Formats.html">Multiple Output Formats</a></li><li class='Nav__item '><a href="../Features/Navigation_and_Sorting.html">Navigation and Sorting</a></li><li class='Nav__item '><a href="../Features/Search.html">Search</a></li><li class='Nav__item '><a href="../Features/Static_Site_Generation.html">Static Site Generation</a></li><li class='Nav__item '><a href="../Features/Table_of_contents.html">Table of contents</a></li></ul></li><li class='Nav__item has-children'><a href="../Examples/index.html" class="folder"><i class="Nav__arrow"> </i>Examples</a><ul class='Nav'><li class='Nav__item '><a href="../Examples/Code_Highlighting.html">Code Highlighting</a></li><li class='Nav__item '><a href="../Examples/Hello_World.html">Hello World</a></li><li class='Nav__item '><a href="../Examples/Hello_World_de.html">Hallo Welt</a></li><li class='Nav__item '><a href="../Examples/привет_мир.html">привет мир</a></li><li class='Nav__item '><a href="../Examples/你好世界.html">你好世界</a></li></ul></li><li class='Nav__item has-children'><a href="../Configuration/index.html" class="folder"><i class="Nav__arrow"> </i>Configuration</a><ul class='Nav'><li class='Nav__item '><a href="../Configuration/Confluence_upload.html">Confluence upload</a></li><li class='Nav__item '><a href="../Configuration/Html_export.html">Html export</a></li></ul></li><li class='Nav__item Nav__item--open has-children'><a href="../For_Developers/Creating_a_Processor.html" class="folder"><i class="Nav__arrow"> </i>For Developers</a><ul class='Nav'><li class='Nav__item '><a href="../For_Developers/Creating_a_Processor.html">Creating a Processor</a></li><li class='Nav__item Nav__item--active'><a href="../For_Developers/Creating_a_Theme.html">Creating a Theme</a></li></ul></li></ul>
|
||
|
||
<div class="Links">
|
||
<hr/>
|
||
<a href="https://github.com/dauxio/daux.io/archive/master.zip" target="_blank">Download</a>
|
||
<br />
|
||
<a href="https://github.com/dauxio/daux.io" target="_blank">GitHub Repo</a>
|
||
<br />
|
||
<a href="https://github.com/dauxio/daux.io/issues" target="_blank">Help/Support/Bugs</a>
|
||
<br />
|
||
</div>
|
||
|
||
<div class="CodeToggler">
|
||
<hr/>
|
||
<span class="CodeToggler__text">Code blocks</span>
|
||
<div class="ButtonGroup" role="group">
|
||
<button class="Button Button--default Button--small CodeToggler__button CodeToggler__button--hide">No</button>
|
||
<button class="Button Button--default Button--small CodeToggler__button CodeToggler__button--below">Below</button>
|
||
<button class="Button Button--default Button--small CodeToggler__button CodeToggler__button--float">Inline</button>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="Twitter">
|
||
<hr/>
|
||
<iframe allowtransparency="true" frameborder="0" scrolling="no" style="width:162px; height:20px;" src="https://platform.twitter.com/widgets/follow_button.html?screen_name=onigoetz&show_count=false"></iframe>
|
||
<br />
|
||
<br />
|
||
</div>
|
||
|
||
<div class="PoweredBy">
|
||
<hr/>
|
||
Powered by Daux.io </div>
|
||
</div>
|
||
</aside>
|
||
<div class="Columns__right Columns__right--float">
|
||
<div class="Columns__right__content">
|
||
<div class="doc_content">
|
||
<article class="Page">
|
||
|
||
<div class="Page__header">
|
||
<h1><a href="../For_Developers/Creating_a_Processor.html">For Developers</a> <svg class="Page__header--separator" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 477.175 477.175"><path d="M360.73 229.075l-225.1-225.1c-5.3-5.3-13.8-5.3-19.1 0s-5.3 13.8 0 19.1l215.5 215.5-215.5 215.5c-5.3 5.3-5.3 13.8 0 19.1 2.6 2.6 6.1 4 9.5 4 3.4 0 6.9-1.3 9.5-4l225.1-225.1c5.3-5.2 5.3-13.8.1-19z"/></svg> <a href="../For_Developers/Creating_a_Theme.html">Creating a Theme</a></h1>
|
||
<span class="ModifiedDate">
|
||
Thursday, June 7, 2018 11:42 AM </span>
|
||
<span class="EditOn">
|
||
<a href="https://github.com/dauxio/daux.io/blob/master/docs/10_For_Developers/Creating_a_Theme.md" target="_blank">
|
||
Edit on GitHub </a>
|
||
</span>
|
||
</div>
|
||
|
||
<div class="s-content">
|
||
<p>In its simplest form, a theme is an empty folder with a <code>config.json</code> file containing <code>{}</code></p>
|
||
<p>After that, every setting is optional, but you can override everything if you'd like to.</p>
|
||
<h2 id="page_options"><code>config.json</code> options</h2>
|
||
<p>Here is an example <code>config.json</code> file :</p>
|
||
<pre><code class="language-json">{
|
||
"favicon": "<theme_url>img/favicon.png",
|
||
"css": ["<theme_url>css/theme.min.css"],
|
||
"js": [],
|
||
"fonts": ["https://fonts.googleapis.com/css?family=Roboto+Slab:400,100,300,700&subset=latin,cyrillic-ext,cyrillic"],
|
||
"variants": {
|
||
"blue": {
|
||
"favicon": "<theme_url>img/favicon-blue.png",
|
||
"css": ["<theme_url>css/theme-blue.min.css"]
|
||
},
|
||
"green": {
|
||
"favicon": "<theme_url>img/favicon-green.png",
|
||
"css": ["<theme_url>css/theme-green.min.css"]
|
||
}
|
||
}
|
||
}
|
||
</code></pre>
|
||
<p>There are five options :</p>
|
||
<ul>
|
||
<li>
|
||
<strong><code>favicon</code></strong>: The URL to your favicon</li>
|
||
<li>
|
||
<strong><code>css</code></strong>: An array of CSS Stylesheets to add to the page</li>
|
||
<li>
|
||
<strong><code>js</code></strong>: An array of JavaScript files to load</li>
|
||
<li>
|
||
<strong><code>fonts</code></strong>: An array of Font sources, these are added as stylesheets</li>
|
||
<li>
|
||
<strong><code>variants</code></strong>: An object containing sub-themes. Each sub theme, can provide the same configurations as the main theme (<code>favicon</code>, <code>css</code>, <code>js</code>, <code>fonts</code>)</li>
|
||
</ul>
|
||
<p>You will also notice this <code><theme_url></code> in the url.
|
||
This is automatically substituted with the final url to the theme when generating the final page.</p>
|
||
<p>There are two possible substitutions :</p>
|
||
<ul>
|
||
<li>
|
||
<strong><code><theme_url></code></strong>: The url to the current theme</li>
|
||
<li>
|
||
<strong><code><base_url></code></strong>: The url to the documentation root</li>
|
||
</ul>
|
||
<h2 id="page_Theme-variants">Theme variants</h2>
|
||
<p>Like the default Daux.io theme, you might want to provide variants of your theme.</p>
|
||
<p>In the example before, there were two variants : blue and green.</p>
|
||
<p>The configuration of a variant is added to the configuration of the main theme, it doesn't replace it.</p>
|
||
<p>For example the main CSS files defined are: <code>["<theme_url>css/theme.min.css"]</code> and the green variant defines <code>["<theme_url>css/theme-green.min.css"]</code>.</p>
|
||
<p>The final list of CSS files will be <code>["<theme_url>css/theme.min.css", "<theme_url>css/theme-green.min.css"]</code>.</p>
|
||
<p>This doesn't apply to <code>favicon</code>, only the last value set is kept.</p>
|
||
<h2 id="page_Setting-the-theme-for-your-documentation">Setting the theme for your documentation</h2>
|
||
<p>In your documentation's <code>config.json</code> (not the theme's <code>config.json</code>)</p>
|
||
<p>Change the <code>theme</code> option inside <code>html</code></p>
|
||
<pre><code class="language-json">{
|
||
"themes_directory": "/home/user/themes",
|
||
"html": {
|
||
"theme": "{theme}-{variant}"
|
||
}
|
||
}
|
||
</code></pre>
|
||
<p>The name of the theme, is the folder name.</p>
|
||
<p>You can use the <code>themes_directory</code> setting if you want to specify a custom location of your <code>themes</code> folder.</p>
|
||
<p>A variant is optional, if you want to add one, separate it from the theme with a dash.</p>
|
||
<h2 id="page_Overriding-templates">Overriding templates</h2>
|
||
<p>By default, you have a list of templates in <code>templates</code></p>
|
||
<p>You can create a folder named <code>templates</code> in your theme, copy-paste the original template in that folder, and you can modify it freely.</p>
|
||
<p>You can even do it one template at a time if you wish to do only small changes.</p>
|
||
<p>By default, we have the following templates :</p>
|
||
<ul>
|
||
<li>
|
||
<code>content.php</code>: The content page.</li>
|
||
<li>
|
||
<code>home.php</code>: The landing page.</li>
|
||
<li>
|
||
<code>error.php</code>: The page to show when a page is not found or some other error happened.</li>
|
||
<li>
|
||
<code>partials/navbar_content.php</code>: The content of the top navigation bar.</li>
|
||
<li>
|
||
<code>partials/google_analytics.php</code>: The script to load Google Analytics.</li>
|
||
<li>
|
||
<code>partials/piwik_analytics.php</code>: The script to load Piwik Analytics.</li>
|
||
<li>
|
||
<code>layout/00_layout.php</code>: The master template, containing the <code><html></code> tag.</li>
|
||
<li>
|
||
<code>layout/05_page.php</code>: The page layout, with left navigation.</li>
|
||
</ul>
|
||
</div>
|
||
|
||
<nav>
|
||
<ul class="Pager">
|
||
<li class=Pager--prev><a href="../For_Developers/Creating_a_Processor.html">Previous</a></li> </ul>
|
||
</nav>
|
||
</article>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<script>
|
||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
||
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
||
|
||
ga('create', 'UA-3551397-7', '');
|
||
ga('send', 'pageview');
|
||
</script>
|
||
|
||
<!-- JS -->
|
||
<script src="../themes/daux/js/jquery-1.11.3.min.js"></script><script src="../themes/daux/js/highlight.pack.js"></script><script src="../themes/daux/js/daux.js"></script>
|
||
<!-- Tipue Search -->
|
||
<script type="text/javascript" src="../tipuesearch/tipuesearch.js"></script>
|
||
|
||
<script>
|
||
window.onunload = function(){}; // force $(document).ready to be called on back/forward navigation in firefox
|
||
$(function() {
|
||
tipuesearch({
|
||
'base_url': '../'
|
||
});
|
||
});
|
||
</script>
|
||
|
||
</body>
|
||
</html>
|