content/glyph/book/extending/bookmarks_headers.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 |
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bookmarks and Headers - 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>Bookmarks and Headers</h1>
<h2>Glyph</h2>
</hgroup>
</header>
<section id="body-text" class="hyphenate glyph-book">
<nav class="navigation"><a href="/glyph/book/extending/params_attrs.html">← Parameters and Attributes</a> | <a href="/glyph/book/index.html">Contents</a> | <a href="/glyph/book/extending/placeholders.html">Using Placeholders →</a></nav>
<p>The <a href="http://rubydoc.info/gems/glyph/Macro"><code>Glyph::Macro</code></a> class also includes a few methods to check and store bookmarks and headers. Consider for example the following source code for the <a href="/glyph/book/macros/macros_inline.html#m_anchor"><code>anchor</code></a> macro:</p>
<div class="CodeRay">
<div class="code"><pre><span class="line-numbers"><a href="#n1" name="n1">1</a></span>macro <span class="symbol">:anchor</span> <span class="keyword">do</span>
<span class="line-numbers"><a href="#n2" name="n2">2</a></span> min_parameters <span class="integer">1</span>
<span class="line-numbers"><a href="#n3" name="n3">3</a></span> max_parameters <span class="integer">2</span>
<span class="line-numbers"><a href="#n4" name="n4">4</a></span> bookmark <span class="symbol">:id</span> => param(<span class="integer">0</span>), <span class="symbol">:title</span> => param(<span class="integer">1</span>), <span class="symbol">:file</span> => <span class="instance-variable">@source_file</span>
<span class="line-numbers"><a href="#n5" name="n5">5</a></span> <span class="instance-variable">@data</span>[<span class="symbol">:id</span>] = param <span class="integer">0</span>
<span class="line-numbers"><a href="#n6" name="n6">6</a></span> <span class="instance-variable">@data</span>[<span class="symbol">:title</span>] = param <span class="integer">1</span>
<span class="line-numbers"><a href="#n7" name="n7">7</a></span> render
<span class="line-numbers"><a href="#n8" name="n8">8</a></span><span class="keyword">end</span></pre></div>
</div>
<p>The <code>bookmark?</code> method can be used to check the existance of a particular ID within the whole document, while the <code>bookmark</code> method is used to store bookmark IDs and titles. In a similar way, you can use <code>header?</code> and <code>header</code> methods to check the existance of headers within the documents or store new ones.</p>
<nav class="navigation"><a href="/glyph/book/extending/params_attrs.html">← Parameters and Attributes</a> | <a href="/glyph/book/index.html">Contents</a> | <a href="/glyph/book/extending/placeholders.html">Using Placeholders →</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>
|