content/glyph/book/text_editing/macro_intro.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 |
<!DOCTYPE html>
<html lang="en">
<head>
<title>Introducing Glyph Macros - Glyph</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="readability-verification" content="XmaVzRjmcFL5Bb2Fu9TZVdDKzhA3apQdxexTB2rK"/>
<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" />
<script src="http://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 type="text/javascript">google.load("jquery", "1");</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/date.js" type="text/javascript"></script>
<script src="/js/feeds.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>
</head>
<body>
<section id="container">
<header class="page">
<nav class="home-link">
<a href="/">
<span class="logo">
<span class="hrald"><span class="h">H</span> <span class="rald">RALD</span></span>
<span class="three">3</span>
</span>
</a>
</nav>
<nav class="section">
/<a href="/glyph/" rel="glyph">GLYPH</a>
</nav>
</header>
<article class="page glyph-book">
<header>
<hgroup>
<h1>Introducing Glyph Macros</h1>
<h2>Glyph</h2>
</hgroup>
</header>
<section id="body-text" class="hyphenate glyph-book">
<nav class="navigation"><a href="/glyph/book/text_editing/glyph_files.html">← <code>.glyph</code> files</a> | <a href="/glyph/book/index.html">Contents</a> | <a href="/glyph/book/text_editing/attribute_intro.html">Macro attributes →</a></nav>
<p>The most important concept to grasp about Glyph is the concept of <em>macro</em>.</p>
<p>A Glyph macro is, in a nutshell, an identifier of some kind that wraps a value or parameters within square brackets. More specifically:</p>
<ul>
<li>The macro identifier can contain <em>any</em> character except for: <code>[</code>, <code>]</code>, <code>\</code>, <code>|</code>, <code>@</code> or spaces.</li>
<li>The delimiters can be either <code>[</code> and <code>]</code> or <code>[=</code> and <code>=]</code> (<span class="fmi">for more information on <mark>differences between delimiters</mark>, see <a href="/glyph/book/text_editing/esc_quot.html#esc_quot">Escaping and Quoting</a></span>).</li>
<li>The value can be anything, even other macros. If a macro supports more than one parameter, they must be separated with <code>|</code>. For example, the <a href="/glyph/book/macros/macros_inline.html#m_link"><code>link</code></a> macro can take an optional second parameter for the link text: <code>link[#link_id|This is the link text]</code>.</li>
<li>A macro can also have <em>attributes</em>, which look exactly like macros but their identifier starts with a <code>@</code>.</li>
</ul>
<p>A macro can often have one or more aliases. For example, <code>=></code> is an alias for the <a href="/glyph/book/macros/macros_inline.html#m_link"><code>link</code></a> macro, so the following macro calls are equivalent:</p>
<ul>
<li><code>=>[#test|Test Section]</code></li>
<li><code>link[#test|Test Section]</code></li>
</ul>
<nav class="navigation"><a href="/glyph/book/text_editing/glyph_files.html">← <code>.glyph</code> files</a> | <a href="/glyph/book/index.html">Contents</a> | <a href="/glyph/book/text_editing/attribute_intro.html">Macro attributes →</a></nav>
<nav id="sharing-buttons">
<a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-via="h3rald">Tweet</a>
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
</nav>
</section>
</article>
<footer>
<section>
<nav>
<a href="/about/">ABOUT</a>|<a href="/contact/">CONTACT</a>
</nav>
<p>H3RALD Web Site v8.1.2 © 2004 — 2012 <em>Fabio Cevasco</em></p>
</section>
</footer>
</section><!-- #container end -->
<!-- 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>
|