content/glyph/book/compiling/compiling.html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 |
<!DOCTYPE html> <html lang="en"> <head> <title>Compiling a project – Glyph Documentation</title> <meta charset="utf-8" /> <meta name="author" content="Fabio Cevasco" /> <meta name="copyright" content="Fabio Cevasco" /> <meta name="robots" content="all, follow" /> <meta name="Revisit-After" content="2 Days" /> <meta name="language" content="en" /> <meta name="target_country" content="en-us" /> <meta name="country" content="United States" /> <meta name="description" content="H3RALD - Fabio Cevasco's Web Site" /> <meta name="keywords" content="h3rald, fabio cevasco, glyph" /> <link rel="shortcut icon" href="/favicon.png" type="image/png" /> <meta content="44.388041;9.073248" name="ICBM" /> <link rel="stylesheet" type="text/css" href="/styles/html5reset.css" /> <link rel="stylesheet" type="text/css" href="/styles/style.css" /> <!--[if lte IE 8]> <script src="/js/html5.js" type="text/javascript"></script> <![endif]--> </head> <body> <!--[if lte IE 6]> <div id="ie-warning"> This site is not compatible with Internet Explorer 6 or lower. You should consider using a more modern browser for a better – and <em>safer</em> – web experience. [<a href="http://browsehappy.com/browsers/">Read More »</a>] </div> <![endif]--> <section id="container"> <header class="page"> <nav class="home-link"> <a href="/"> <img src="/images/h3rald_small.png" alt="H3RALD" class="default"/> <![if !IE]> <img src="/images/h3rald_hover_small.png" alt="H3RALD" class="hover"/> <![endif]> </a> </nav> <nav class="section"> /<a href="/glyph/" rel="archives">GLYPH</a> </nav> </header> <article class="page"> <header> <hgroup> <h1>Compiling a project</h1> <h2>Glyph Documentation</h2> </hgroup> </header> <section id="body-text" class="hyphenate glyph-book"> <nav><a href="/glyph/book/text_editing/conditionals.html">Conditional Macros ←</a><a href="/glyph/book/index.html">Contents</a><a href="/glyph/book/compiling/lite_mode.html">→ Compiling single Glyph files</a></nav> <p>By default, a Glyph project can be “compiled” into an <span class="caps">HTML</span> document. Additionally, Glyph can also be used to produce documents in the following formats:</p> <ul> <li>HTML5</li> <li><span class="caps">PDF</span> (generated from <span class="caps">HTML</span> using a third-party generator like <a href="http://www.princexml.com/">Prince</a> or <a href="http://code.google.com/p/wkhtmltopdf/">wkhtmltopdf</a>)</li> <li>Web (i.e. multiple <span class="caps">HTML</span> files)</li> <li>Web5 (i.e. multiple HTML5 files)</li> </ul> <section class="section"> <header><h1 id="h_41">HTML/HTML5 output</h1></header> <p>To compile a Glyph project to an HTML document, use the <a href="/glyph/book/ref_commands.html#c_compile"><code>compile</code></a> command within your Glyph project folder. Glyph parses the <code>document.glyph</code> file (and all included files and snippets); if no errors are found, Glyph creates an HTML document in the <code>/output/html</code> folder.</p> <p>The name of the HTML file can be set in the configuration (<a href="/glyph/book/config/document.html#s_document_filename"><code>document.filename</code></a> setting).</p> <p>To create an HTML5 file instead, you must specify it explicitly like this:</p> <p> <code>glyph compile -f html5</code> </p> </section> <section class="section"> <header><h1 id="h_42">PDF Output</h1></header> <p>To generate a PDF document, you must specify <code>pdf</code> as format, like this:</p> <p> <code>glyph compile -f pdf</code> </p> <p>The command above will attempt to compile the project into an HTML document and then call a third-party PDF generator to convert it into a PDF file.</p> <p>Currently, Glyph supports:</p> <ul> <li><a href="http://www.princexml.com/">Prince</a> (version 7.0 or higher) — a commercial generator that can be used freely for personal use. Prince produces high-quality <span class="caps">PDF</span> files and implement most of the new features introduced in CSS3, used heavily in Glyph’s <a href="/glyph/book/text_editing/stylesheets.html#default_stylesheets"><code>pagination.css</code></a> default stylesheet.</li> <li><a href="http://code.google.com/p/wkhtmltopdf/">wkhtmltopdf</a> (version 1.0 beta4 or higher) — an open source generator that uses the WebKit rendering engine to transform <span class="caps">HTML</span> files into <span class="caps">PDF</span>. Although not as advanced as Prince, it produces very satisfactory results.</li> </ul> <p>By default, Glyph attempts to use wkhtmltopdf. To change this, set the <a href="/glyph/book/config/output.html#s_output_pdf_generator"><code>output_pdf_generator</code></a> setting to <code>prince</code>.</p> <aside class="note"> <span class="note-title">Note</span>Glyph expects PDF generators to be installed on the local machine and callable via command line using the <code>wkhtmltopdf</code> or the <code>prince</code> commands. Just install them as you would with any other program, depending on your operating system (yes, they both offer Windows installers). </aside> <aside class="tip"> <span class="note-title">Tip</span>Glyph's default CSS file use the free <em>Gentium</em> font for all text. You can download it from <a href="http://www.sil.org/~gaultney/gentium/">here</a>. </aside> </section> <section class="section"> <header><h1 id="web_output">Web/Web5 Output</h1></header> <p>To generate a Web or Web5 output, specify <code>web</code> or <code>web5</code> as format. These two output formats behave different way from the others, and require that your project uses <a href="/glyph/book/text_editing/topics.html#topics">topics</a> and <a href="/glyph/book/extending/layouts.html#layouts">layouts</a>.</p> <p>Basically, here’s what happens when you compile your project in web or web5 format:</p> <ol> <li>The document code is parsed as normal</li> <li>Separate topic files are generated according to the <code>@src</code> attributes of your sections</li> <li>The <code>document.glyph</code> (or whatever file you’re using as document source) is <em>not</em> rendered. Instead, an <code>index.html</code> file will be created in the output folder based on the contents of your <a href="/glyph/book/extending/layouts.html#index_layout">index layout</a>.</li> </ol> </section> <section class="section"> <header><h1 id="auto_regeneration">Auto Regeneration</h1></header> <p>You can also call the <a href="/glyph/book/ref_commands.html#c_compile"><code>compile</code></a> command with a <code>--auto</code> switch. If you do so, your project will be recompiled automatically every time any source file is changed.</p> <aside class="note"> <span class="note-title">Note</span>Auto regeneration requires the <a href="http://rubygems.org/gems/directory_watcher">directory_watcher</a> gem to be installed. </aside> </section> <nav><a href="/glyph/book/text_editing/conditionals.html">Conditional Macros ←</a><a href="/glyph/book/index.html">Contents</a><a href="/glyph/book/compiling/lite_mode.html">→ Compiling single Glyph files</a></nav> </section> </article> <footer> <section class="ads"> <script type="text/javascript"><!-- google_ad_client = "pub-2871497824158668"; /* 728x90, created 9/10/10 */ google_ad_slot = "3963343166"; google_ad_width = 728; google_ad_height = 90; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> </section> <section> <nav> <a href="/about/">ABOUT</a>|<a href="/contact/">CONTACT</a> </nav> <p>H3RALD Web Site v8.1 — © 2010 — <em>Fabio Cevasco</em></p> </section> </footer> </section><!-- #container end --> <script src="http://www.google.com/jsapi?key=ABQIAAAAr6RY1Z6dchG_sX9WDLSy3xRlq2n1sm52B5HDRR5tm6o8XM18FhR56xHNNH6CsX86uN5VoTrglpyOyQ" type="text/javascript"></script> <!-- <script src="/js/jquery.js" type="text/javascript"></script> --> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> <script src="/js/jquery-timeago.js" type="text/javascript"></script> <script src="/js/jquery-easing.js" type="text/javascript"></script> <script src="/js/jquery-fancybox.js" type="text/javascript"></script> <script src="/js/jquery-toc.js" type="text/javascript"></script> <script src="/js/date.js" type="text/javascript"></script> <script src="/js/feeds.js" type="text/javascript"></script> <script src="/js/search.js" type="text/javascript"></script> <script src="/js/hyphenator.min.js" type="text/javascript"></script> <script src="/js/init.js" type="text/javascript"></script> <!-- Start Google Analytics --> <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-18587377-1']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script> <!-- End Google Analytics --> <!-- Start of StatCounter Code --> <script type="text/javascript"> var sc_project=6193656; var sc_invisible=1; var sc_security="57f7ee2a"; </script> <script type="text/javascript" src="http://www.statcounter.com/counter/counter_xhtml.js"></script> <!-- End of StatCounter Code --> </body> </html> |