content/glyph/book/getting_started/configuration.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 |
<!DOCTYPE html> <html lang="en"> <head> <title>Project Configuration - H3RALD</title> <link href='https://fonts.googleapis.com/css?family=Crimson+Text:400,400italic,600,600italic,700,700italic' rel='stylesheet' type='text/css'> <meta charset="utf-8" /> <meta name="author" content="Fabio Cevasco" /> <meta name="robots" content="all, follow" /> <meta name="Revisit-After" content="2 Days" /> <meta name="description" content="H3RALD - Fabio Cevasco's Web Site" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="keywords" content="h3rald, fabio cevasco, glyph, ruby" /> <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/bootstrap.css" /> <link rel="stylesheet" type="text/css" href="/styles/github.css" /> <link rel="stylesheet" type="text/css" href="/styles/style.css" /> <!--[if lt IE 9]> <script src="https://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <script src="https://www.google.com/jsapi?key=ABQIAAAAr6RY1Z6dchG_sX9WDLSy3xRlq2n1sm52B5HDRR5tm6o8XM18FhR56xHNNH6CsX86uN5VoTrglpyOyQ" type="text/javascript"></script> <script src="/js/sevenup.js" type="text/javascript"></script> <script src="/js/sevenup_black.js" type="text/javascript"></script> <script src="https://code.jquery.com/jquery-latest.js" type="text/javascript"></script> <script src="/js/jquery-timeago.js" type="text/javascript"></script> <script src="/js/date.js" type="text/javascript"></script> <script src="/js/hyphenator.js" type="text/javascript"></script> <script src="/js/init.js" type="text/javascript"></script> <script src="/js/search.js" type="text/javascript"></script> <script src="/js/highlight.js" type="text/javascript"></script> <script src="/js/bootstrap.js" type="text/javascript"></script> </head> <body> <div class="container"> <div class="row" id="header-row"> <div class="col-md-6 main-title"> <h1> <a href="/"><img src="/img/h3rald.png" alt="H3RALD" /></a> </h1> </div> <div class="col-md-4 col-md-offset-2"> <div class="gcse-searchbox" data-enableAutoComplete="true"></div> </div> </div> <div id="search_results"> <div class="gcse-searchresults" data-linkTarget="_top"></div> </div> <div id="main-navbar" class="navbar navbar-inverse" role="navigation"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> </div> <div class="navbar-collapse collapse"> <ul class="nav navbar-nav"> <li><a href="/"><i class="fa fa-home"></i> HOME</a></li> <li><a href="/projects/"><i class="fa fa-briefcase"></i> PROJECTS</a></li> <li><a href="/tags/"><i class="fa fa-tags"></i> TAGS</a></li> <li><a href="/archives/"><i class="fa fa-archive"></i> ARCHIVES</a></li> <li><a href="/about/"><i class="fa fa-question-circle"></i> ABOUT</a></li> <li><a href="/contact/"><i class="fa fa-envelope"></i> CONTACT</a></li> </ul> </div> </div> </div> <div class="container"> <article class="page"> <header class="row"> <hgroup class="col-md-9"> <h1>Project Configuration</h1> <h2>Glyph</h2> </hgroup> </header> <section id="body-text" class="hyphenate"> <nav class="navigation"><a href="/glyph/book/getting_started/structure.html">← Document Structure</a> | <a href="/glyph/book/index.html">Contents</a> | <a href="/glyph/book/text_editing/glyph_files.html"><code>.glyph</code> files →</a></nav> <p>Glyph stores configuration settings in the following <span class="caps">YAML</span> files:</p> <ol> <li>Your <em>Project Configuration</em> is stored in the <code>config.yml</code> file, included in each Glyph Project.</li> <li>Your <em>Global Configuration</em> is stored in a <code>.glyphrc</code> file in your <code>$HOME</code> (or <code>%HOMEPATH%</code> on Windows) directory (not created by default).</li> <li>The <em>System Configuration</em> is stored in the source directory of Glyph itself.</li> </ol> <p>When compiling, Glyph loads all these configuration files and merges them according to the following rules:</p> <ul> <li>A setting configured in the <em>Project Configuration</em> overrides the same setting in both Global and System configuration.</li> <li>A setting configured in the <em>Global Configuration</em> overrides the same setting in the <em>System Configuration</em>.</li> </ul> <p>Typically, you should use the <em>Project Configuration</em> for all project-specific settings and the <em>Global Configuration</em> for settings affecting all your projects (for example, you may want to set the <a href="/glyph/book/config/document.html#s_document_author"><code>document.author</code></a> setting in the Global Configuration instead of setting it in the Project Configuration of all your Glyph projects). The <em>System Configuration</em> is best left untouched.</p> <p>Instead of editing your configuration settings directly, you can use the <a href="/glyph/book/ref_commands.html#c_config"><code>config</code></a> command, as follows:</p> <p><code>glyph config</code> <em>setting</em> <em>[value]</em></p> <p>If no <em>value</em> is specified, Glyph prints the value of the configuration setting, so typing <code>glyph config document.author</code> right after creating a project (assuming you didn’t set this in the Global Configuration) will print nothing, because this setting is blank by default.</p> <p>To change the value of a configuration setting, specify a value right after the setting, like this:</p> <p><code>glyph config document.author "John Smith"</code></p> <aside class="tip"> <p><span class="note-title">Tip</span>It is also possible to change configuration settings inside your document, using the <a href="/glyph/book/macros/macros_core.html#m_config_"><code>config:</code></a> macro.</p> </aside> <p>In this way, the document author will be set to <em>John Smith</em> for the current project. To save this setting globally, add a <code>-g</code> option, like this:</p> <p><code>glyph config -g document.author "John Smith"</code></p> <aside class="box"> <div class="box-title">Regarding configuration values and data types…</div> <p>Glyph attempts to “guess” the data type of a configuration value by evaluation (<code>Kernel#instance_eval</code>) if the value:</p> <ul> <li>is wrapped in quotes (<code>"</code> or <code>'</code>) → <code>String</code></li> <li>starts with a colon (<code>:</code>) → <code>Symbol</code></li> <li>is wrapped in square brackets (<code>[</code> and <code>]</code>) → <code>Array</code></li> <li>is wrapped in curly brackets (<code>{</code> and <code>}</code>) → <code>Hash</code></li> <li>is <em>true</em> or <em>false</em> → <code>Boolean</code></li> <li>is <em>nil</em> → <code>NilClass</code></li> </ul> <p>Note that this guessing is far from being foolproof: If you type something like <em>{:test, 2}</em>, for example, you’ll get an error.</p> </aside> <p>There are plenty of configuration settings that can be modified, but most of them are best if left alone (and in the System Configuration file).</p> <p>For a complete reference, see <a href="/glyph/book/document.html#cfg_ref">Configuration Reference</a>. For everyday use, you may just want to change the settings defined in the <a href="/glyph/book/config/document.html#cfg_document"><code>document.*</code></a> namespace.</p> <nav class="navigation"><a href="/glyph/book/getting_started/structure.html">← Document Structure</a> | <a href="/glyph/book/index.html">Contents</a> | <a href="/glyph/book/text_editing/glyph_files.html"><code>.glyph</code> files →</a></nav> </section> </article> </div> <footer> <section> <p>H3RALD Web Site v8.4 © 2004 — 2014 <em>Fabio Cevasco</em></p> </section> </footer> <script type="text/javascript"> var disqus_shortname = 'h3rald'; (function() { var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js'; (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); })(); </script> <noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript> <a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a> <script> hljs.tabReplace = ' '; hljs.initHighlightingOnLoad(); </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 --> </body> </html> |