mirror of
https://github.com/wassname/template.git
synced 2026-06-28 02:05:55 +08:00
119 lines
5.5 KiB
HTML
119 lines
5.5 KiB
HTML
<!doctype html>
|
||
<meta charset="utf-8">
|
||
<script src="../dist/template.min.js"></script>
|
||
<style>
|
||
.fake-img {
|
||
background: #bbb;
|
||
border: 1px solid rgba(0, 0, 0, 0.1);
|
||
box-shadow: 0 0px 4px rgba(0, 0, 0, 0.1);
|
||
margin-bottom: 12px;
|
||
}
|
||
.fake-img p {
|
||
font-family: monospace;
|
||
color: white;
|
||
text-align: center;
|
||
margin: 12px 0;
|
||
font-size: 16px;
|
||
}
|
||
</style>
|
||
<dt-header></dt-header>
|
||
<dt-article>
|
||
<h1>How to Create a Distill Article</h1>
|
||
<h2>A collection of examples and best practices for creating interactive explanatory articles using the Distill web framework</h2>
|
||
<!-- <dt-byline></dt-byline> -->
|
||
<p>Distill ships with a CSS framework and a collection of custom web components that make building interactive academic articles easier than raw HTML, CSS and JavaScript. This reference article details several examples and best practices for how to use both frameworks. Both are also available on Github with a permissive license, so feel free to use them independent of http://distill.pub as well.</p>
|
||
<hr>
|
||
<h2>Layouts</h2>
|
||
<p>The main text column is referred to as the body. It is the assumed layout of any direct descendents of the <code>dt-article</code> element.</p>
|
||
<div class="fake-img l-body"><p>.l-body</p></div>
|
||
<div class="fake-img l-middle"><p>.l-middle</p></div>
|
||
<div class="fake-img l-page"><p>.l-page</p></div>
|
||
<p>Occasionally you’ll want to use the full browser width. For this, use screen. You can also inset the element a little from the edge of the browser by appending, you guessed it, <code>inset</code>.</p>
|
||
<div class="fake-img l-screen"><p>.l-screen</p></div>
|
||
<div class="fake-img l-screen-inset"><p>.l-screen-inset</p></div>
|
||
<p>Often you want to position smaller images so as not to completely interrupt the flow of your text. Or perhaps you want to put some text in the margin as an aside or to signal that it’s optional content. For these cases we’ll use the float-based <code>.side</code> layouts.</p>
|
||
<div class="fake-img l-body side"><p>.l-body.side</p></div>
|
||
<div class="fake-img l-page side"><p>.l-page.side</p></div>
|
||
<p>They are all floated to the right and anchored to the right-hand edge of the position you specify. By default, each will take up approximately half of the width of the standard layout position, but you can override the width with a more specific selector. </p>
|
||
<div class="fake-img l-gutter"><p>.l-gutter</p></div>
|
||
<p>The final layout is for marginalia, asides, and footnotes. It does not interrupt the normal flow of <code>.l-body</code> sized text except on mobile screen sizes.</p>
|
||
<hr>
|
||
<h2>Markdown</h2>
|
||
<div>
|
||
<div dt-markdown>Any element with a `dt-markdown` attribute will be rendered with its contents replaced with a markdown processed version. We use [marked](https://github.com/chjj/marked), with [github flavored markdown](https://help.github.com/articles/basic-writing-and-formatting-syntax/) and [smartypants](https://daringfireball.net/projects/smartypants/).</div>
|
||
<pre><code class="language-html">
|
||
<div dt-markdown>
|
||
###This markdown will be rendered as HTML
|
||
|
||
For more about markdown, read this [tutorial](https://help.github.com/articles/basic-writing-and-formatting-syntax/).
|
||
</div>
|
||
|
||
</code></pre>
|
||
</div>
|
||
<hr>
|
||
<h2>Code Blocks</h2>
|
||
<p>Syntax highlighting is provided within <code class="language-html"><code></code> tags. Just wrap the source with this: <code class="language-html"><code class="language-html">let x = 10;</code></code>. For larger blocks of code, add a <code class="language-html"><pre></code> tag:</p>
|
||
<pre><code class="language-html">
|
||
<pre><code class="language-javascript">
|
||
var x = 25;
|
||
function(x){
|
||
return x * x;
|
||
}
|
||
</code></pre>
|
||
</code></pre>
|
||
<p>You can also use code blocks within markdown blocks. For instance: </p>
|
||
<pre><code class="language-html">
|
||
<div dt-markdown>
|
||
```javascript
|
||
let x = 25;
|
||
```
|
||
</div>
|
||
</code></pre>
|
||
<hr>
|
||
<h2>Citation</h2>
|
||
<p>Bibtex is the supported way of making academic citations. You first need have a global definition of all your possible citations. This can either be inlined in the document, or it can reference an external bibtex file.</p>
|
||
<pre><code class="language-html">
|
||
<dt-bibliography>
|
||
@article{gregor2015draw,
|
||
title={DRAW: A recurrent neural network for image generation},
|
||
author={Gregor, Karol and Danihelka, Ivo and Graves, Alex and Rezende, Danilo Jimenez and Wierstra, Daan},
|
||
journal={arXivreprint arXiv:1502.04623},
|
||
year={2015}
|
||
}
|
||
@article{mercier2011humans,
|
||
title={Why do humans reason? Arguments for an argumentative theory},
|
||
author={Mercier, Hugo and Sperber, Dan},
|
||
journal={Behavioral and brain sciences},
|
||
volume={34},
|
||
number={02},
|
||
pages={57--74},
|
||
year={2011},
|
||
publisher={Cambridge Univ Press}
|
||
}
|
||
</dt-bibliography>
|
||
</code></pre>
|
||
<p>Citations are then used with the <code class="language-html"><dt-cite></code> tag.</p>
|
||
<pre><code class="language-html">
|
||
<dt-cite>gregor2015draw</dt-cite>
|
||
</code></pre>
|
||
<p>Take a look at this paper <dt-cite>gregor2015draw</dt-cite>.</p>
|
||
|
||
<hr>
|
||
<h2>Math</h2>
|
||
<hr>
|
||
<h2>Footnotes</h2>
|
||
<p>This is a <dt-footnote ref="blah" /></p>
|
||
<dt-footnote-body ref="blah"></dt-footnote-body>
|
||
<hr>
|
||
<h2>HTML Includes</h2>
|
||
<hr>
|
||
<h2>Authors</h2>
|
||
<hr>
|
||
<h2>Metadata</h2>
|
||
</dt-article>
|
||
<dt-appendix>
|
||
<h3>Contributions</h3>
|
||
<p>List of who did what</p>
|
||
</dt-appendix>
|
||
<dt-footer></dt-footer>
|