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 |
<!DOCTYPE html> <html lang="en"> <head> <title>Glyph - Project Configuration</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="/projects/" rel="archives">PROJECTS</a> </nav> </header> <article class="page"> <header> <hgroup> <h1>Project Configuration</h1> </hgroup> </header> <section id="body-text" class="hyphenate"> <nav><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">→ .glyph 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">document.*</a> namespace.</p> <nav><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">→ .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> |