airabbitX commited on
Commit
3b29f4d
·
verified ·
1 Parent(s): 345dfbc

Upload book.markdown

Browse files
Files changed (1) hide show
  1. book.markdown +530 -0
book.markdown ADDED
@@ -0,0 +1,530 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ The Poetry Book
2
+ ===============
3
+
4
+ What is The Poetry Book? [What?]
5
+ --------------------------------
6
+
7
+ *The Poetry Book* is a fast and easy system for quickly making your own book of poems. You can also use it as the basis for building highly interactive websites, apps or game interfaces. If you want to create your own book of poems that looks like this one, [get the source code](https://github.com/kittykatattack/thepoetrybook) and modify it as much as you like.
8
+
9
+ ![A Painting by William Blake](images/williamBlake.png)
10
+
11
+ All the content for the entire book exists as a single [markdown document](http://daringfireball.net/projects/markdown/basics). Markdown documents are quick and easy to read and write, and don't require any technical skill to create. The Poetry Book uses the markdown document to figure out how the website should be organized. This is all done automatically using JavaScript - you don't have to worry about it. Just drop your markdown file into the Poetry Book's home folder, and the navigation bar and content pages will be automatically created. Fill the content pages with anything you like, as much as you like. Completely change the layout and design with CSS. Drop the Poetry Book project folder into any webserver, and you're done. There's nothing to configure or install, no complex dependant technologies, and no command-line-anything. It's a new way to think about websites and interactive content using the most basic technologies available.
12
+
13
+ If you like, you can completely customize the css code to create entirely new and original layouts and designs based on this system. It will work on any platform, anywhere. There is only one content file, so it's extremely easy to manage and displays pages instantly. If you keep things simple, this might be all you need to build a small to medium-sized personal website, portfolio gallery or focused app.
14
+
15
+ Or, just make a poetry book.
16
+
17
+ ### What do you need to know? ###
18
+
19
+ You need to know [how to write a markdown document](http://www.markdowntutorial.com). That's all.
20
+
21
+ If you want to post your Poetry Book on the internet, you need some kind of website hosting service. You could [use Google Drive](http://chronicle.com/blogs/profhacker/host-a-website-on-google-drive/46737). Or, you could use [Dropbox, in the normal way](http://www.dropboxwiki.com/tips-and-tricks/host-websites-with-dropbox), or [Dropbox, in the fancy way](http://www.makeuseof.com/tag/how-to-host-a-dropbox-website/). Or, you could use your own website hosting company and with your own domain name - there are lots of options.
22
+
23
+ If you want to change the graphic-design style and behaviour of your Poetry Book, you should know some basic HTML and CSS. If you don't know what those things are, you should learn them first. (There are many resources on the internet that will help you do this. Doing a web search for "HTML and CSS tutorial" is a good place to start. The first chapter of [this book](http://www.apress.com/programming/javascript/9781430247166) is also really good). You need to know HTML and CSS basics so that you can start customizing things like the fonts, colors and layout.
24
+
25
+ For HTML and CSS experts, go wild! This project was intended as the simplest, bare-bones example of a new vision of what highly interactive websites and apps could be.
26
+
27
+ ### How to make your own book ###
28
+
29
+ First, make sure you have a local web server runnning. If you're using OSX, [Here's how to do that](http://osxdaily.com/2012/09/02/start-apache-web-server-mac-os-x/). On other platforms, [try XAMMP](http://www.apachefriends.org/en/xampp.html). If you're not afraid of the command line, you could [try a simple Python webserver](http://www.linuxjournal.com/content/tech-tip-really-simple-http-server-python). Or just, to make things really easy, download [Brackets](http://www.brackets.io/) and the latest version of [Chrome](https://www.google.com/intl/en/chrome/browser/) and then launch any project's index.html file by clicking Bracket's lightning bolt icon. Brackets will create a local web server for you automatically.
30
+
31
+ Next, [Download the source files](https://github.com/kittykatattack/thepoetrybook/releases), put them in your local web server, and view the index.html file in a web browser. You can then start writing your own poetry book.
32
+
33
+ Use a plain text editor to write a markdown document. Or, you can use a free online markdown editor, [like this one](http://dillinger.io). (If you want to get fancy, download the latest version of [Brackets](http://brackets.io) and install the markdown extension from the extension manager). The Poetry Book uses an improved style of markdown called GFM, which [adds some extra useful features](https://help.github.com/articles/github-flavored-markdown). (Here's a good [markdown cheat-sheet](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) you can use while you're learning to write markdown documents.)
34
+
35
+ What does a markdown document look like? Here's an example of a markdown document that will create a book with two pages of poems.
36
+
37
+ ![](images/example1Markdown.png)
38
+
39
+ Save this document with the name "book.markdown" in the main Poetry Book project folder. (That's the same folder that includes a file called index.html. If there's already an existing document called book.markdown in that same folder (there will be, this one!), replace it with your new one.)
40
+
41
+ After you've done that, open the index.html file in a web browser, and you'll see this:
42
+
43
+ ![](images/example1.png)
44
+
45
+ The Poetry Book will organize the poems in the same order that they appear in your markdown document.
46
+
47
+ (You'll find this example markdown document as "example1.markdown" in the "examples" folder.)
48
+
49
+ If you're the kind of person who really likes to organize things, you can sort your poems into categories. Maybe you've got two kinds of poems: *fun* poems and *boring* poems. You can add categories to your poem titles, and the Poetry Book will sort your poems into those categories. Here's an example of a book with three poems: one boring poem and two fun poems.
50
+
51
+ ![](images/example2Markdown.png)
52
+
53
+ Here's what this next example poetry book will look like:
54
+
55
+ ![](images/example2.png)
56
+
57
+ You can see that in this example the poem titles include extra words that are surrounded by square brackets. Those words are the category that you want to organize your poem into. That means that if you wanted to create a new category called *Really crazy ideas* you would do it like this:
58
+
59
+
60
+ `Drawing on puddles with water-proof markers [Really crazy ideas]`
61
+ `-----------------------------------------------------------------------`
62
+
63
+
64
+ You can use any category names you like. All poems in the same categories will be grouped together in the navigation bar.
65
+
66
+ That is all you need to do. You've got a poetry book!
67
+
68
+ ### Category ordering ###
69
+
70
+ The categories will be ordered alphabetically. To change that, you'll need to change the JavaScript code in the tree.js file. If that's something you're confident doing, go for it! But, if you don't fight it, you'll discover that's it's really nice just to have the system organize your poems for you automatically like this. It's just one less decision you need to make, and you can make it work for you.
71
+
72
+ Spend the extra time you saved to write some poetry.
73
+
74
+ Poems will be organized under categories based on the order in which they appear in your markdown document. That means the poems near the top will appear before the poems below them.
75
+
76
+ If you don't include a category, the poem will appear at the very top of the navigation bar, above the all the other categorized poems.
77
+
78
+ A useful feature is that the first poem in the markdown document will also be the first one to be displayed when the book loads. That means if you want readers to see the newest content first, just add it as the first poem in your markdown document.
79
+
80
+ ### Adding images ###
81
+
82
+ Use this bit of simple markdown to add an image:
83
+
84
+ `![A description of the image](imageFileName.png)`
85
+
86
+ ### Linking poems ###
87
+
88
+ If you want to link a poem to another poem in the book you can [do it like this](#songsofthepixies):
89
+
90
+ `[do it like this](#songsofthepixies)`
91
+
92
+ ### Sub-page navigation headings for websites ###
93
+
94
+ If you want to use The Poetry Book to make a website, you can think of each poem as a page of content. You might have pages with a lot of information that you want to break up with sub-headings. You can add a sub-heading in a page like this:
95
+
96
+ `### This is a sub-heading inside a page ###`
97
+
98
+ The Poetry Book will automatically create a sub-page navigation bar for you based on these headings. To see it in this example, move your mouse over the light-gray vertical bar to the left of this page. A navigation bar will open showing you all the headings inside this page. You can jump to a new heading by clicking one of the links.
99
+
100
+ If you don't want this sub-page navigation to be displayed, add this bit of code to the end of your CSS file:
101
+
102
+ .section1 nav {display: none;}
103
+
104
+ ### Making a website ###
105
+
106
+ You can use The Poetry Book to make a website. Just use real information, instead of poems. And, if you know enough HTML CSS and JavaScript, you can completely customize it to look and behave however you want it to. In fact, The Poetry Book was written specifically to make it easy for you to do that.
107
+
108
+ If you don't know HTML, CSS and basic JavaScript - don't read further!
109
+ But, if you do, here are some of the things you should know about the source code:
110
+
111
+ All the HTML code is generated automatically by the poetryBook.min.js file based on the structure of your markdown document. That means you won't be able to see the HTML page structure by looking at the index.html file. Instead, you'll need to open the *developer tools* in whatever browser you're using, and use it to inspect the generated HTML elements. (If you're using the [Chrome browser](https://www.google.com/intl/en/chrome/browser/), you can [do it like this](https://developers.google.com/chrome-developer-tools/docs/elements).)
112
+
113
+ Using those tools, try it now and a look at the HTML structure of this example Poetry Book (yes, this very one you're reading!) You'll notice that every heading from the markdown document has a matching HTML heading tag: `<h1>, <h2>, <h3>` etc. And each of those headings, and the content they contain, are nested inside a matching `<section>` tag. Those `<section>` tags all have class names: section0, section1, section2, etc. section0 matches the `<h1>` tag, section1 matches the `<h2>` tags, and section2 matches the `<h3>` tags.
114
+
115
+ ![](images/htmlExample1.png)
116
+
117
+ Here's what one of the poems looks like:
118
+
119
+ ![](images/htmlExample3.png)
120
+
121
+ You can also see that the id names for each section are the same as the document headings, except in lower case without spaces or punctuation. You'll also notice that the entire book is wrapped inside a single `<section>` tag with the class name section0. That's based on the main heading that you gave your markdown document.
122
+
123
+ #### Selection states
124
+
125
+ You'll also notice that the sections have *state* attributes. These are set as either "selected" or "unselected". Those states are set for you automatically by the poetrybook.min.js file, based on currently active links. This is really useful, because it means that you can use those *state* attributes to selectivly show or hide content. For example, here's the css you could use to make only selected content in section1 visible:
126
+
127
+ section .section1[state=selected] {
128
+ opacity: 1;
129
+ z-index: 1;
130
+ }
131
+ section .section1[state=unselected] {
132
+ z-index: 0;
133
+ opacity: 0;
134
+ }
135
+
136
+ This is a really powerful feature. It's the key to easily making highly dynamic, complex websites with nothing more than a few simple lines of CSS. Take a look at the poetryBook.css file to see how it's been implemented in this example.
137
+
138
+ #### Navigation bars
139
+
140
+ Each `<section>` tag is also immediately followed by a `<nav>` tag. This is a navigation bar that's automatically created for each sub-heading in that section. In the following illustration your can see the `<nav>` tag for this section that you're now reading, and how the links correspond to the id tags of the sub-sections.
141
+
142
+ ![](images/htmlExample2.png)
143
+
144
+
145
+ Each `<a>` tag in the navigation bar has an href attribute that matches a sub-section's id attribute. The `<a>` tags also have *state* attributes. Look carefully, and you'll notice that if an `<a>` tag's state is "selected", the matching sub-section state will also be "selected". Everything else will be "unselected". This makes it easy for you to create navagation highlight states in your CSS, like this:
146
+
147
+ nav a[state=selected] {
148
+ color: #eee8aa;
149
+ }
150
+ nav a[state=unselected] {
151
+ color: white;
152
+ }
153
+
154
+ The poetryBook.min.js file does all the work of figuring out which navigation links and sections should be selected or unselected, so you don't need to worry about that.
155
+
156
+ #### Images
157
+
158
+ You can access each image by using an id that corresponds to its "alt" text: lower-case and without spaces or punctuation. Imagine that you've got an image in your markdown document that looks like this:
159
+
160
+ `![A Painting by William Blake](images/williamBlake.png)`
161
+
162
+ Its matching HTML will look like this:
163
+
164
+ `<img src="images/williamBlake.png" alt="A Painting by William Blake" id="apaintingbywilliamblake" >`
165
+
166
+ #### Making hidden, unlinked content
167
+
168
+ You might have some content that should remain hidden and unlinked, unless some conditions are met. In that case, give that content section an "x" category, like this
169
+
170
+ `### This content should not be visible [x] ###`
171
+
172
+ This content will be created in a `<section>` that has a class called "x". To hide all "x" class content, use this CSS code:
173
+
174
+ .x {display: none;}
175
+
176
+ If you want to make it visible at some point based on user interaction, add some css that might look like this:
177
+
178
+ ```
179
+ #thiscontentshouldnotbevisible {
180
+ display: block;
181
+ z-index: 2;
182
+ }
183
+
184
+ ```
185
+
186
+ (Giving it a high z-index number will make sure that it displays above the any other visible content.)
187
+
188
+ This is an advanced feature, but could be extremely useful if you're building a complex custom user interface. For example, you might want a login window that appears when a reader clicks a button. You could then use JavaScript and CSS to make this content appear.
189
+
190
+ #### Adding HTML code into the markdown document
191
+
192
+ You can add your own HTML code directly into your markdown document. This is really useful for adding things like YouTube video embed code, or games inside `<iframe>` tags. Just make sure to leave 1 blank line between the html code block and your markdown text.
193
+
194
+ #### Loading markdown documents
195
+
196
+ One thing you may want to do is change the name of the markdown file that that's being loaded. To do that, open the JavaScript file called documents.js:
197
+
198
+ ```
199
+ var POETRYBOOK = POETRYBOOK || {};
200
+ POETRYBOOK.documents = (function () {
201
+ return ["../book.markdown",];
202
+ }());
203
+
204
+ ```
205
+ Change the name of the array element to any markdown document you want to use, like this:
206
+
207
+ `["../anyDocument.markdown"]`
208
+
209
+ Then save the file, and reload index.html.
210
+
211
+ You can also use more than one markdown file to build your poetry book. In fact, you can use as many as you like - there's no limit. Just add the names of the documents you want to use as elements in the array. For example, here's how to make a book using 3 separate documents:
212
+
213
+ `["../firstDoc.markdown", "../secondDoc.markdown", "../thirdDoc.markdown"]`
214
+
215
+ The Poetry Book will merge all the documents into a single book. But if you want to use multiple documents like this, you'll need to plan them a bit to make sure they organize themselves the way you expect. Also, there can only be one main title for the entire book, so make sure only one document has a main heading, like this:
216
+
217
+ ```
218
+ Use Only One Main Heading For All Your Documents
219
+ =============================================
220
+ ```
221
+
222
+ If you do use more than one main heading, you'll end up with two separate books inside one HTML page. That could possibly be really useful in some way that I haven't been able to figure out yet. Or, it could not be what you want at all!
223
+
224
+ #### More about the JavaScript code
225
+
226
+ Make your life easy and just link the document.js and poetryBook.min.js file to the index.html file. You probably won't need to customize the source code. If you want to add some features, just create an additional JavaScript file that implements those new features.
227
+
228
+ If you do want to mess around with the source code, you'll need to load the JS files in this order:
229
+
230
+ documents.js
231
+ rafPollyfill.js
232
+ marked.js
233
+ tree.js
234
+ poet.js
235
+
236
+ rafPollyfill.js makes sure that requestAnimationFrame works on all platforms. marked.js converts the markdown document to HTML. tree.js structures the HTML into useful nested sections and adds the navigation bars. poet.js sets the correct selection states for each section. All the source code is documented if you feel you want to try and customize it.
237
+
238
+ #### An optional table of contents
239
+
240
+ The tree.js file creates a table of contents with the id "toc". It also adds `<a>` tag links between the table of contents and its matching section in the main HTML. This could be very useful for some styles of websites, so it's there if you need it. However, if you don't, prevent the table of contents from displaying with the following CSS code:
241
+
242
+ ```
243
+ #toc {
244
+ display: none;
245
+ }
246
+ ```
247
+
248
+ #### Some other things you should know
249
+
250
+ * The `<title>` tag will contain the same text as your markdown document's main heading.
251
+ * Identical heading names in your markdown document with have id names that match those names, with the addition of a number. For example, if you have 2 headings both called "story", the first one will have an id called "story0" and the second will be "story1".
252
+ * If a section only has 1 subheading, a navigation bar won't be created for that section.
253
+ * You can add user comments to sections with [Disqus](http://disqus.com/). You can add a website discussion forum with [Discourse](http://www.discourse.org/).
254
+
255
+ ### Why The Poetry Book is cool ###
256
+
257
+ - All the content exists as a single, easy-to-read markdown file.
258
+ - There are no moving parts, so nothing can break.
259
+ - Content pages display instantly because they all exist in that single file. The browser doesn't need to make continual http requests to a server for each page.
260
+ - You can manage the entire website offline, without needing a CMS or database. You can do it in Notepad.
261
+ - Minimal, uncluttered content management using markdown so that it's extremely easy to add and customize content by hand. Just use your text editor's search capability (Ctrl-F) to find what you're looking for.
262
+ - When you want to update your website content, just make some changes to the single markdown file.
263
+ - Use this same code as the foundation for building a mobile app (with [CocoonJS](http://www.ludei.com/tech/cocoonjs)), or a desktop app (with [node-webkit](https://github.com/rogerwang/node-webkit/wiki/Getting-Started-with-node-webkit)), or for quickly building a GUI for a game.
264
+ - Completely transportable. Just drop the same files into any webserver anywhere, and it will work exactly the same without any configuration or installation. Keep your whole website in your back pocket.
265
+ - Low-tech, high-performance, and extremely easy to maintain.
266
+ - Command-line nothing. Way faster an easier to use than other static website creation frameworks like Jekyll. Prettier, leaner and easier to use and customize than Ghost.
267
+ - Less is more!
268
+
269
+ [Get the source](https://github.com/kittykatattack/thepoetrybook/releases).
270
+
271
+
272
+ Unlinked content [x]
273
+ --------------------
274
+ This content won't be displayed in the navigation bar. To set this up, add an [x] category to any heading. You can then access this content through the `<section>` tag id name that matches the heading.
275
+
276
+ This is an advanced feature, but could be extremely useful if you're building a complex custom user interface. For example, you might want a login window that appears when a reader clicks a button. You could then use JavaScript and CSS to make this content appear.
277
+
278
+ Infant Sorrow [Blake]
279
+ ---------------------
280
+
281
+ My mother groaned, my father wept,
282
+ Into the dangerous world I leapt.
283
+ Helpless, naked, piping loud,
284
+ Like a fiend hid in a cloud.
285
+
286
+ Struggling in my father's hands,
287
+ Striving against my swaddling bands,
288
+ Bound and weary, I thought best,
289
+ To sulk upon my mother's breast.
290
+
291
+ *William Blake*
292
+
293
+ Auguries of Innocence [Blake]
294
+ -----------------------------
295
+
296
+ To see a world in a grain of sand,
297
+ And a heaven in a wild flower,
298
+ Hold infinity in the palm of your hand,
299
+ And eternity in an hour.
300
+
301
+ *William Blake*
302
+
303
+ The Panther [Rilke]
304
+ -------------------
305
+ His vision, from the constantly passing bars,
306
+ has grown so weary that it cannot hold
307
+ anything else. It seems to him there are
308
+ a thousand bars; and behind the bars, no world.
309
+
310
+ As he paces in cramped circles, over and over,
311
+ the movement of his powerful soft strides
312
+ is like a ritual dance around a center
313
+ in which a mighty will stands paralyzed.
314
+
315
+ Only at times, the curtain of the pupils
316
+ lifts, quietly. An image enters in,
317
+ rushes down through the tensed, arrested muscles,
318
+ plunges into the heart and is gone.
319
+
320
+ *Rainer Maria Rilke*
321
+
322
+ Evening [Rilke]
323
+ ---------------
324
+
325
+ The bleak fields are asleep,
326
+ My heart alone wakes.
327
+ The evening in the harbour
328
+ Down his red sails takes.
329
+
330
+ Night, guardian of dreams,
331
+ Now wanders through the land.
332
+ The moon, a lily white,
333
+ Blossoms within her hand.
334
+
335
+ *Rainer Maria Rilke*
336
+
337
+ Kubla Khan [Coleridge]
338
+ ----------------------
339
+
340
+ In Xanadu did Kubla Khan
341
+ A stately pleasure-dome decree:
342
+ Where Alph, the sacred river, ran
343
+ Through caverns measureless to man
344
+ Down to a sunless sea.
345
+ So twice five miles of fertile ground
346
+ With walls and towers were girdled round;
347
+ And there were gardens bright with sinuous rills,
348
+ Where blossomed many an incense-bearing tree;
349
+ And here were forests ancient as the hills,
350
+ Enfolding sunny spots of greenery.
351
+
352
+ But oh! that deep romantic chasm which slanted
353
+ Down the green hill athwart a cedarn cover!
354
+ A savage place! as holy and enchanted
355
+ As e’er beneath a waning moon was haunted
356
+ By woman wailing for her demon-lover!
357
+ And from this chasm, with ceaseless turmoil seething,
358
+ As if this earth in fast thick pants were breathing,
359
+ A mighty fountain momently was forced:
360
+ Amid whose swift half-intermitted burst
361
+ Huge fragments vaulted like rebounding hail,
362
+ Or chaffy grain beneath the thresher’s flail:
363
+ And mid these dancing rocks at once and ever
364
+ It flung up momently the sacred river.
365
+ Five miles meandering with a mazy motion
366
+ Through wood and dale the sacred river ran,
367
+ Then reached the caverns measureless to man,
368
+ And sank in tumult to a lifeless ocean;
369
+ And ’mid this tumult Kubla heard from far
370
+ Ancestral voices prophesying war!
371
+ The shadow of the dome of pleasure
372
+ Floated midway on the waves;
373
+ Where was heard the mingled measure
374
+ From the fountain and the caves.
375
+ It was a miracle of rare device,
376
+ A sunny pleasure-dome with caves of ice!
377
+
378
+ A damsel with a dulcimer
379
+ In a vision once I saw:
380
+ It was an Abyssinian maid
381
+ And on her dulcimer she played,
382
+ Singing of Mount Abora.
383
+ Could I revive within me
384
+ Her symphony and song,
385
+ To such a deep delight ’twould win me,
386
+ That with music loud and long,
387
+ I would build that dome in air,
388
+ That sunny dome! those caves of ice!
389
+ And all who heard should see them there,
390
+ And all should cry, Beware! Beware!
391
+ His flashing eyes, his floating hair!
392
+ Weave a circle round him thrice,
393
+ And close your eyes with holy dread
394
+ For he on honey-dew hath fed,
395
+ And drunk the milk of Paradise.
396
+
397
+ *Samuel Taylor Coleridge*
398
+
399
+ Songs of the Pixies [Coleridge]
400
+ -------------------------------
401
+
402
+ I.
403
+ Whom the untaught Shepherds call
404
+ Pixies in their madrigal,
405
+ Fancy's children, here we dwell:
406
+ Welcome, Ladies! to our cell.
407
+ Here the wren of softest note
408
+ Builds its nest and warbles well;
409
+ Here the blackbird strains his throat;
410
+ Welcome, Ladies! to our cell.
411
+
412
+ II.
413
+ When fades the moon to shadowy-pale,
414
+ And scuds the cloud before the gale,
415
+ Ere the Morn, all gem-bedight,
416
+ Hath streak'd the East with rosy light,
417
+ We sip the furze-flower's fragrant dews
418
+ Clad in robes of rainbow hues:
419
+ Or sport amid the shooting gleams
420
+ To the tune of distant-tinkling teams,
421
+ While lusty Labour scouting sorrow
422
+ Bids the Dame a glad good-morrow,
423
+ Who jogs the accustomed road along,
424
+ And paces cheery to her cheering song.
425
+
426
+ III.
427
+ But not our filmy pinion
428
+ We scorch amid the blaze of day,
429
+ When Noontide's fiery-tressed minion
430
+ Flashes the fervid ray.
431
+ Aye from the sultry heat
432
+ We to the cave retreat
433
+ O'ercanopied by huge roots intertwined
434
+ With wildest texture, blackened o'er with age:
435
+ Round them their mantle green the ivies bind,
436
+ Beneath whose foliage pale
437
+ Fanned by the unfrequent gale
438
+ We shield us from the Tyrant's mid-day rage.
439
+
440
+ IV.
441
+ Thither, while the murmuring throng
442
+ Of wild-bees hum their drowsy song,
443
+ By Indolence and Fancy brought,
444
+ A youthful Bard, 'unknown to Fame',
445
+ Wooes the Queen of Solemn Thought,
446
+ And heaves the gentle misery of a sigh,
447
+ Gazing with tearful eye,
448
+ As round our sandy grot appear
449
+ Many a rudely sculptured name
450
+ To pensive Memory dear!
451
+ Weaving gay dreams of sunny-tinctured hue
452
+ We glance before his view:
453
+ O'er his hush'd soul our soothing witcheries shed
454
+ And twine the future garland round his head.
455
+
456
+ V.
457
+ When Evening's dusky car
458
+ Crowned with her dewy star
459
+ Steals o'er the fading sky in shadowy flight;
460
+ On leaves of aspen trees
461
+ We tremble to the breeze
462
+ Veiled from the grosser ken of mortal sight.
463
+ Or, haply, at the visionary hour,
464
+ Along our wildly-bowered sequestered walk,
465
+ We listen to the enamoured rustic's talk;
466
+ Heave with the heavings of the maiden's breast,
467
+ Where young-eyed Loves have hid their turtle nest;
468
+ Or guide of soul-subduing power
469
+ The glance, that from the half-confessing eye
470
+ Darts the fond question or the soft reply.
471
+
472
+ VI.
473
+ Or through the mystic ringlets of the vale
474
+ We flash our faery feet in gamesome prank;
475
+ Or, silent-sandal'd, pay our defter court,
476
+ Circling the Spirit of the Western Gale,
477
+ Where wearied with his flower-caressing sport,
478
+ Supine he slumbers on a violet bank;
479
+ Then with quaint music hymn the parting gleam
480
+ By lonely Otter's sleep-persuading stream;
481
+ Or where his wave with loud unquiet song
482
+ Dashed o'er the rocky channel froths along;
483
+ Or where, his silver waters smoothed to rest,
484
+ The tall tree's shadow sleeps upon his breast.
485
+
486
+ VII.
487
+ Hence thou lingerer, Light!
488
+ Eve saddens into Night.
489
+ Mother of wildly-working dreams! we view
490
+ The sombre hours, that round thee stand
491
+ With down-cast eyes (a duteous band!)
492
+ Their dark robes dripping with the heavy dew.
493
+ Sorceress of the ebon throne!
494
+ Thy power the Pixies own,
495
+ When round thy raven brow
496
+ Heaven's lucent roses glow,
497
+ And clouds in watery colours drest
498
+ Float in light drapery o'er thy sable vest:
499
+ What time the pale moon sheds a softer day
500
+ Mellowing the woods beneath its pensive beam:
501
+ For mid the quivering light 'tis ours to play,
502
+ Aye dancing to the cadence of the stream.
503
+
504
+ VIII.
505
+ Welcome, Ladies! to the cell
506
+ Where the blameless Pixies dwell:
507
+ But thou, sweet Nymph! proclaimed our Faery Queen,
508
+ With what obeisance meet
509
+ Thy presence shall we greet?
510
+ For lo! attendant on thy steps are seen
511
+ Graceful Ease in artless stole,
512
+ And white-robed Purity of soul,
513
+ With Honour's softer mien;
514
+ Mirth of the loosely-flowing hair,
515
+ And meek-eyed Pity eloquently fair,
516
+ Whose tearful cheeks are lovely to the view,
517
+ As snow-drop wet with dew.
518
+
519
+ IX.
520
+ Unboastful Maid! though now the Lily pale
521
+ Transparent grace thy beauties meek;
522
+ Yet ere again along the impurpling vale,
523
+ The purpling vale and elfin-haunted grove,
524
+ Young Zephyr his fresh flowers profusely throws,
525
+ We'll tinge with livelier hues thy cheek;
526
+ And, haply, from the nectar-breathing Rose
527
+ Extract a Blush for Love!
528
+
529
+ *Samuel Taylor Coleridge*
530
+