You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pollen/doc/index.html

3 lines
26 KiB
HTML

11 years ago
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
11 years ago
<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"/><title>Pollen: the book is a program</title><link rel="stylesheet" type="text/css" href="scribble.css" title="default"/><link rel="stylesheet" type="text/css" href="racket.css" title="default"/><link rel="stylesheet" type="text/css" href="manual-style.css" title="default"/><link rel="stylesheet" type="text/css" href="manual-racket.css" title="default"/><script type="text/javascript" src="scribble-common.js"></script><!--[if IE 6]><style type="text/css">.SIEHidden { overflow: hidden; }</style><![endif]--></head><body id="scribble-racket-lang-org"><div class="tocset"><div class="tocview"><div class="tocviewlist tocviewlisttopspace"><div class="tocviewtitle"><table cellspacing="0" cellpadding="0"><tr><td style="width: 1em;"><a href="javascript:void(0);" title="Expand/Collapse" class="tocviewtoggle" onclick="TocviewToggle(this,&quot;tocview_0&quot;);">&#9660;</a></td><td></td><td><a href="index.html" class="tocviewselflink" data-pltdoc="x">Pollen:<span class="mywbr"> &nbsp;</span> the book is a program</a></td></tr></table></div><div class="tocviewsublistonly" style="display: block;" id="tocview_0"><table cellspacing="0" cellpadding="0"><tr><td align="right">1&nbsp;</td><td><a href="Installation.html" class="tocviewlink" data-pltdoc="x">Installation</a></td></tr><tr><td align="right">2&nbsp;</td><td><a href="quick-tour.html" class="tocviewlink" data-pltdoc="x">Quick tour</a></td></tr><tr><td align="right">3&nbsp;</td><td><a href="Backstory.html" class="tocviewlink" data-pltdoc="x">Backstory</a></td></tr><tr><td align="right">4&nbsp;</td><td><a href="System_overview.html" class="tocviewlink" data-pltdoc="x">System overview</a></td></tr><tr><td align="right">5&nbsp;</td><td><a href="Using_raco_pollen.html" class="tocviewlink" data-pltdoc="x">Using <span class="stt">raco pollen</span></a></td></tr><tr><td align="right">6&nbsp;</td><td><a href="File_formats.html" class="tocviewlink" data-pltdoc="x">File formats</a></td></tr><tr><td align="right">7&nbsp;</td><td><a href="reader.html" class="tocviewlink" data-pltdoc="x">&#9674; command overview</a></td></tr><tr><td align="right">8&nbsp;</td><td><a href="Module_reference.html" class="tocviewlink" data-pltdoc="x">Module reference</a></td></tr><tr><td align="right">9&nbsp;</td><td><a href="Acknowledgments.html" class="tocviewlink" data-pltdoc="x">Acknowledgments</a></td></tr><tr><td align="right">10&nbsp;</td><td><a href="License___source_code.html" class="tocviewlink" data-pltdoc="x">License &amp; source code</a></td></tr><tr><td align="right"></td><td><a href="doc-index.html" class="tocviewlink" data-pltdoc="x">Index</a></td></tr></table></div></div></div><div class="tocsub"><div class="tocsubtitle">On this page:</div><table class="tocsublist" cellspacing="0"><tr><td><span class="tocsublinknumber"></span><a href="#%28part._.Pollen__the_book_is_a_program%29" class="tocsubseclink" data-pltdoc="x">Pollen:<span class="mywbr"> &nbsp;</span> the book is a program</a></td></tr></table></div></div><div class="maincolumn"><div class="main"><div class="versionbox"><span class="version">6.0.1.6</span></div><div class="navsettop"><span class="navleft">&nbsp;&nbsp;</span><span class="navright">&nbsp;&nbsp;<span class="nonavigation">&larr; prev</span>&nbsp;&nbsp;<span class="nonavigation">up</span>&nbsp;&nbsp;<a href="Installation.html" title="forward to &quot;1 Installation&quot;" data-pltdoc="x">next &rarr;</a></span>&nbsp;</div><h2><a name="(part._.Pollen__the_book_is_a_program)"></a><a name="(mod-path._pollen)"></a>Pollen: the book is a program</h2><div class="SAuthorListBox"><span class="SAuthorList"><p class="author">Matthew Butterick &lt;<a href="mailto:mb@mbtype.com">mb@mbtype.com</a>&gt;</p></span></div><p><table cellspacing="0" class="defmodule"><tr><td align="left"><span class="hspace">&nbsp;</span><a href="http://docs.racket-lang.org/guide/Module_Syntax.html#%28part._hash-lang%29" class="RktModLink" data-pltdoc="x"><span class="RktMod">#lang</span></a><span class="hspace">&nbsp;</span><a href="index.html
11 years ago
</div><div class="SIntrapara"><ul><li><p>First, that digital books should be the best books we&rsquo;ve ever had. So far, they&rsquo;re not even close.</p></li><li><p>Second, that because digital books are software, an author shouldn&rsquo;t think of a book as merely data. <span style="font-weight: bold">The book is a program.</span></p></li><li><p>Third, that the way we make digital books better than their predecessors is by exploiting this programmability.</p></li></ul></div></p><p>That&rsquo;s what Pollen is for.</p><p>Not that you need to be a programmer to use Pollen. On the contrary, the Pollen language is markup-based, so you can write &amp; edit text naturally. But when you want to automate repetitive tasks, add cross-references, or pull in data from other sources, you can access a full programming language from within the text.</p><p>That language is Racket. I chose Racket because while the idea for Pollen had been with me for several years, it simply wasn&rsquo;t possible to build it with other languages. So if it&rsquo;s unfamiliar to you, don&rsquo;t panic. It was unfamiliar to me. Once you see what you can do with Pollen &amp; Racket, you may be persuaded. I was.</p><p>Or, if you can find a better digital-publishing tool, use that. But I&rsquo;m never going back to the way I used to work.</p><table cellspacing="0"><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="Installation.html" class="toptoclink" data-pltdoc="x">1<span class="hspace">&nbsp;</span>Installation</a></p></td></tr><tr><td><p><span class="hspace"></span></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="quick-tour.html" class="toptoclink" data-pltdoc="x">2<span class="hspace">&nbsp;</span>Quick tour</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="quick-tour.html#%28part._.Creating_a_source_file%29" class="toclink" data-pltdoc="x">2.1<span class="hspace">&nbsp;</span>Creating a source file</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="quick-tour.html#%28part._.Running_a_source_file%29" class="toclink" data-pltdoc="x">2.2<span class="hspace">&nbsp;</span>Running a source file</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="quick-tour.html#%28part._.Naming__saving__and_rendering_a_source_file%29" class="toclink" data-pltdoc="x">2.3<span class="hspace">&nbsp;</span>Naming, saving, and rendering a source file</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="quick-tour.html#%28part._.The_project_server%29" class="toclink" data-pltdoc="x">2.4<span class="hspace">&nbsp;</span>The project server</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="quick-tour.html#%28part._.Intermission%29" class="toclink" data-pltdoc="x">2.5<span class="hspace">&nbsp;</span>Intermission</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="quick-tour.html#%28part._.Pollen_as_a_preprocessor%29" class="toclink" data-pltdoc="x">2.6<span class="hspace">&nbsp;</span>Pollen as a preprocessor</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="quick-tour.html#%28part._.Markdown_mode%29" class="toclink" data-pltdoc="x">2.7<span class="hspace">&nbsp;</span>Markdown mode</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="quick-tour.html#%28part._.Markup_mode%29" class="toclink" data-pltdoc="x">2.8<span class="hspace">&nbsp;</span>Markup mode</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="quick-tour.html#%28part._.Templates%29" class="toclink" data-pltdoc="x">2.9<span class="hspace">&nbsp;</span>Templates</a></p></td></tr><tr><td><p><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a href="quick-tour.html#%28part._.P.S_for_.Scribble_users%29" class="toclin