Configured in a resource's metadata, creates copies of that resource, each of which will receive its own `page' containing a distinct list of `posts'.main
| @@ -0,0 +1,128 @@ | |||||
| # -*- coding: utf-8 -*- | |||||
| """ | |||||
| Pagination plugin. Groups a sorted set of resources into pages and supplies | |||||
| each page to a copy of the original resource. | |||||
| """ | |||||
| import os | |||||
| from hyde.fs import File | |||||
| from hyde.plugin import Plugin | |||||
| from hyde.site import Resource | |||||
| from hyde.util import pairwalk | |||||
| class Page: | |||||
| def __init__(self, posts, number): | |||||
| self.posts = posts | |||||
| self.number = number | |||||
| class Paginator: | |||||
| """ | |||||
| Iterates resources which have pages associated with them. | |||||
| """ | |||||
| file_pattern = 'page$PAGE/$FILE$EXT' | |||||
| def __init__(self, settings): | |||||
| self.sorter = getattr(settings, 'sorter', None) | |||||
| self.size = getattr(settings, 'size', 10) | |||||
| self.file_pattern = getattr(settings, 'file_pattern', self.file_pattern) | |||||
| def _relative_url(self, source_path, number, basename, ext): | |||||
| """ | |||||
| Create a new URL for a new page. The first page keeps the same name; | |||||
| the subsequent pages are formatted according to file_pattern. | |||||
| """ | |||||
| path = File(source_path) | |||||
| if number != 1: | |||||
| filename = self.file_pattern.replace('$PAGE', str(number)) \ | |||||
| .replace('$FILE', basename) \ | |||||
| .replace('$EXT', ext) | |||||
| path = path.parent.child(os.path.normpath(filename)) | |||||
| return path | |||||
| def _new_resource(self, base_resource, node, page): | |||||
| """ | |||||
| Create a new resource as a copy of a base_resource, with a page of | |||||
| resources associated with it. | |||||
| """ | |||||
| res = Resource(base_resource.source_file, node) | |||||
| res.page = page | |||||
| page.resource = res | |||||
| path = self._relative_url(base_resource.relative_path, | |||||
| page.number, | |||||
| base_resource.source_file.name_without_extension, | |||||
| base_resource.source_file.extension) | |||||
| res.set_relative_deploy_path(path) | |||||
| return res | |||||
| def _walk_pages_in_node(self, node): | |||||
| """ | |||||
| Segregate each resource into a page. | |||||
| """ | |||||
| walker = 'walk_resources' | |||||
| if self.sorter: | |||||
| walker = 'walk_resources_sorted_by_%s' % self.sorter | |||||
| walker = getattr(node, walker, getattr(node, 'walk_resources')) | |||||
| posts = list(walker()) | |||||
| number = 1 | |||||
| while posts: | |||||
| yield Page(posts[:self.size], number) | |||||
| posts = posts[self.size:] | |||||
| number += 1 | |||||
| def walk_paged_resources(self, node, resource): | |||||
| """ | |||||
| Group the resources and return the new page resources. | |||||
| """ | |||||
| added_resources = [] | |||||
| pages = list(self._walk_pages_in_node(node)) | |||||
| for page in pages: | |||||
| added_resources.append(self._new_resource(resource, node, page)) | |||||
| for prev, next in pairwalk(pages): | |||||
| next.previous = prev | |||||
| prev.next = next | |||||
| return added_resources | |||||
| class PaginatorPlugin(Plugin): | |||||
| """ | |||||
| Paginator plugin. | |||||
| Configuration: in a resource's metadata: | |||||
| paginator: | |||||
| sorter: time | |||||
| size: 5 | |||||
| file_pattern: page$PAGE/$FILE$EXT # optional | |||||
| then in the resource's content: | |||||
| {% for res in resource.page.posts %} | |||||
| {% refer to res.url as post %} | |||||
| {{ post }} | |||||
| {% endfor %} | |||||
| {{ resource.page.previous }} | |||||
| {{ resource.page.next }} | |||||
| """ | |||||
| def __init__(self, site): | |||||
| super(PaginatorPlugin, self).__init__(site) | |||||
| def begin_site(self): | |||||
| for node in self.site.content.walk(): | |||||
| added_resources = [] | |||||
| removed_resources = [] | |||||
| paged_resources = (res for res in node.resources | |||||
| if hasattr(res.meta, 'paginator')) | |||||
| for resource in paged_resources: | |||||
| paginator = Paginator(resource.meta.paginator) | |||||
| removed_resources.append(resource) | |||||
| added_resources += paginator.walk_paged_resources(node, resource) | |||||
| node.resources += added_resources | |||||
| for removed in removed_resources: | |||||
| node.resources.remove(removed) | |||||
| @@ -0,0 +1,96 @@ | |||||
| # -*- coding: utf-8 -*- | |||||
| """ | |||||
| Use nose | |||||
| `$ pip install nose` | |||||
| `$ nosetests` | |||||
| """ | |||||
| from textwrap import dedent | |||||
| from hyde.fs import File, Folder | |||||
| from hyde.generator import Generator | |||||
| from hyde.model import Expando | |||||
| from hyde.site import Site | |||||
| TEST_SITE = File(__file__).parent.parent.child_folder('_test') | |||||
| class TestTagger(object): | |||||
| def setUp(self): | |||||
| TEST_SITE.make() | |||||
| TEST_SITE.parent.child_folder( | |||||
| 'sites/test_paginator').copy_contents_to(TEST_SITE) | |||||
| self.s = Site(TEST_SITE) | |||||
| self.deploy = TEST_SITE.child_folder('deploy') | |||||
| gen = Generator(self.s) | |||||
| gen.load_site_if_needed() | |||||
| gen.load_template_if_needed() | |||||
| gen.generate_all() | |||||
| def tearDown(self): | |||||
| TEST_SITE.delete() | |||||
| def test_pages_of_one(self): | |||||
| pages = ['pages_of_one.txt', 'page2/pages_of_one.txt', | |||||
| 'page3/pages_of_one.txt', 'page4/pages_of_one.txt'] | |||||
| files = [File(self.deploy.child(p)) for p in pages] | |||||
| for f in files: | |||||
| assert f.exists | |||||
| page5 = File(self.deploy.child('page5/pages_of_one.txt')) | |||||
| assert not page5.exists | |||||
| def test_pages_of_one_content(self): | |||||
| expected_page1_content = dedent('''\ | |||||
| Another Sad Post | |||||
| page2/pages_of_one.txt | |||||
| ''') | |||||
| expected_page2_content = dedent('''\ | |||||
| A Happy Post | |||||
| page2/pages_of_one.txt | |||||
| page3/pages_of_one.txt | |||||
| ''') | |||||
| expected_page3_content = dedent('''\ | |||||
| An Angry Post | |||||
| page3/pages_of_one.txt | |||||
| page4/pages_of_one.txt | |||||
| ''') | |||||
| expected_page4_content = dedent('''\ | |||||
| A Sad Post | |||||
| page4/pages_of_one.txt | |||||
| ''') | |||||
| page1 = self.deploy.child('pages_of_one.txt') | |||||
| content = File(page1).read_all() | |||||
| assert expected_page1_content == content | |||||
| def test_pages_of_ten(self): | |||||
| page1 = self.deploy.child('pages_of_ten.txt') | |||||
| page2 = self.deploy.child('page2/pages_of_ten.txt') | |||||
| assert File(page1).exists | |||||
| assert not File(page2).exists | |||||
| def test_pages_of_one_content(self): | |||||
| expected_content = dedent('''\ | |||||
| Another Sad Post | |||||
| A Happy Post | |||||
| An Angry Post | |||||
| A Sad Post | |||||
| ''') | |||||
| page = self.deploy.child('pages_of_ten.txt') | |||||
| content = File(page).read_all() | |||||
| assert expected_content == content | |||||
| def text_custom_file_pattern(self): | |||||
| page1 = 'custom_file_pattern.txt' | |||||
| page2 = 'custom_file_pattern-2.txt' | |||||
| assert File(page1).exists | |||||
| assert File(page2).exists | |||||
| @@ -0,0 +1,133 @@ | |||||
| --- | |||||
| title: An Angry Post | |||||
| description: > | |||||
| Temper. Temper. Temper. | |||||
| created: !!timestamp '2011-01-01 10:00:00' | |||||
| tags: | |||||
| - angry | |||||
| - thoughts | |||||
| --- | |||||
| {% mark excerpt -%} | |||||
| To complete the character-study of Mr. Worple, he was a man of extremely | |||||
| uncertain temper, and his general tendency was to think that Corky was a poor | |||||
| chump and that whatever step he took in any direction on his own account, was | |||||
| just another proof of his innate idiocy. I should imagine Jeeves feels very | |||||
| much the same about me. | |||||
| {%- endmark %} | |||||
| So when Corky trickled into my apartment one afternoon, shooing a girl in | |||||
| front of him, and said, "Bertie, I want you to meet my fiancée, Miss Singer," | |||||
| the aspect of the matter which hit me first was precisely the one which he had | |||||
| come to consult me about. The very first words I spoke were, "Corky, how about | |||||
| your uncle?" | |||||
| The poor chap gave one of those mirthless laughs. He was looking anxious and | |||||
| worried, like a man who has done the murder all right but can't think what the | |||||
| deuce to do with the body. | |||||
| "We're so scared, Mr. Wooster," said the girl. "We were hoping that you might | |||||
| suggest a way of breaking it to him." | |||||
| Muriel Singer was one of those very quiet, appealing girls who have a way of | |||||
| looking at you with their big eyes as if they thought you were the greatest | |||||
| thing on earth and wondered that you hadn't got on to it yet yourself. She sat | |||||
| there in a sort of shrinking way, looking at me as if she were saying to | |||||
| herself, "Oh, I do hope this great strong man isn't going to hurt me." She | |||||
| gave a fellow a protective kind of feeling, made him want to stroke her hand | |||||
| and say, "There, there, little one!" or words to that effect. She made me feel | |||||
| that there was nothing I wouldn't do for her. She was rather like one of those | |||||
| innocent-tasting American drinks which creep imperceptibly into your system so | |||||
| that, before you know what you're doing, you're starting out to reform the | |||||
| world by force if necessary and pausing on your way to tell the large man in | |||||
| the corner that, if he looks at you like that, you will knock his head off. | |||||
| What I mean is, she made me feel alert and dashing, like a jolly old | |||||
| knight-errant or something of that kind. I felt that I was with her in this | |||||
| thing to the limit. | |||||
| "I don't see why your uncle shouldn't be most awfully bucked," I said to | |||||
| Corky. "He will think Miss Singer the ideal wife for you." | |||||
| Corky declined to cheer up. | |||||
| "You don't know him. Even if he did like Muriel he wouldn't admit it. That's | |||||
| the sort of pig-headed guy he is. It would be a matter of principle with him | |||||
| to kick. All he would consider would be that I had gone and taken an important | |||||
| step without asking his advice, and he would raise Cain automatically. He's | |||||
| always done it." | |||||
| I strained the old bean to meet this emergency. | |||||
| "You want to work it so that he makes Miss Singer's acquaintance without | |||||
| knowing that you know her. Then you come along" | |||||
| "But how can I work it that way?" | |||||
| I saw his point. That was the catch. | |||||
| "There's only one thing to do," I said. | |||||
| "What's that?" | |||||
| "Leave it to Jeeves." | |||||
| And I rang the bell. | |||||
| "Sir?" said Jeeves, kind of manifesting himself. One of the rummy things about | |||||
| Jeeves is that, unless you watch like a hawk, you very seldom see him come | |||||
| into a room. He's like one of those weird chappies in India who dissolve | |||||
| themselves into thin air and nip through space in a sort of disembodied way | |||||
| and assemble the parts again just where they want them. I've got a cousin | |||||
| who's what they call a Theosophist, and he says he's often nearly worked the | |||||
| thing himself, but couldn't quite bring it off, probably owing to having fed | |||||
| in his boyhood on the flesh of animals slain in anger and pie. | |||||
| The moment I saw the man standing there, registering respectful attention, a | |||||
| weight seemed to roll off my mind. I felt like a lost child who spots his | |||||
| father in the offing. There was something about him that gave me confidence. | |||||
| Jeeves is a tallish man, with one of those dark, shrewd faces. His eye gleams | |||||
| with the light of pure intelligence. | |||||
| "Jeeves, we want your advice." | |||||
| "Very good, sir." | |||||
| I boiled down Corky's painful case into a few well-chosen words. | |||||
| "So you see what it amount to, Jeeves. We want you to suggest some way by | |||||
| which Mr. Worple can make Miss Singer's acquaintance without getting on to the | |||||
| fact that Mr. Corcoran already knows her. Understand?" | |||||
| "Perfectly, sir." | |||||
| "Well, try to think of something." | |||||
| "I have thought of something already, sir." | |||||
| "You have!" | |||||
| "The scheme I would suggest cannot fail of success, but it has what may seem | |||||
| to you a drawback, sir, in that it requires a certain financial outlay." | |||||
| "He means," I translated to Corky, "that he has got a pippin of an idea, but | |||||
| it's going to cost a bit." | |||||
| Naturally the poor chap's face dropped, for this seemed to dish the whole | |||||
| thing. But I was still under the influence of the girl's melting gaze, and I | |||||
| saw that this was where I started in as a knight-errant. | |||||
| "You can count on me for all that sort of thing, Corky," I said. "Only too | |||||
| glad. Carry on, Jeeves." | |||||
| "I would suggest, sir, that Mr. Corcoran take advantage of Mr. Worple's | |||||
| attachment to ornithology." | |||||
| "How on earth did you know that he was fond of birds?" | |||||
| [My Man Jeeves by PG Wodehouse][MMJ] | |||||
| [MMJ]: http://www.gutenberg.org/cache/epub/8164/pg8164.html | |||||
| @@ -0,0 +1,87 @@ | |||||
| --- | |||||
| title: Another Sad Post | |||||
| description: > | |||||
| Something else sad happened. | |||||
| created: !!timestamp '2011-03-01 10:00:00' | |||||
| tags: | |||||
| - sad | |||||
| - events | |||||
| --- | |||||
| {% mark excerpt -%} | |||||
| I went and dressed sadly. It will show you pretty well how pipped I was when I | |||||
| tell you that I near as a toucher put on a white tie with a dinner-jacket. I | |||||
| sallied out for a bit of food more to pass the time than because I wanted it. | |||||
| It seemed brutal to be wading into the bill of fare with poor old Bicky headed | |||||
| for the breadline. | |||||
| {%- endmark %} | |||||
| When I got back old Chiswick had gone to bed, but Bicky was there, hunched up | |||||
| in an arm-chair, brooding pretty tensely, with a cigarette hanging out of the | |||||
| corner of his mouth and a more or less glassy stare in his eyes. He had the | |||||
| aspect of one who had been soaked with what the newspaper chappies call "some | |||||
| blunt instrument." | |||||
| "This is a bit thick, old thing—what!" I said. | |||||
| He picked up his glass and drained it feverishly, overlooking the fact that it | |||||
| hadn't anything in it. | |||||
| "I'm done, Bertie!" he said. | |||||
| He had another go at the glass. It didn't seem to do him any good. | |||||
| "If only this had happened a week later, Bertie! My next month's money was due | |||||
| to roll in on Saturday. I could have worked a wheeze I've been reading about | |||||
| in the magazine advertisements. It seems that you can make a dashed amount of | |||||
| money if you can only collect a few dollars and start a chicken-farm. Jolly | |||||
| sound scheme, Bertie! Say you buy a hen—call it one hen for the sake of | |||||
| argument. It lays an egg every day of the week. You sell the eggs seven for | |||||
| twenty-five cents. Keep of hen costs nothing. Profit practically twenty-five | |||||
| cents on every seven eggs. Or look at it another way: Suppose you have a dozen | |||||
| eggs. Each of the hens has a dozen chickens. The chickens grow up and have | |||||
| more chickens. Why, in no time you'd have the place covered knee-deep in hens, | |||||
| all laying eggs, at twenty-five cents for every seven. You'd make a fortune. | |||||
| Jolly life, too, keeping hens!" He had begun to get quite worked up at the | |||||
| thought of it, but he slopped back in his chair at this juncture with a good | |||||
| deal of gloom. "But, of course, it's no good," he said, "because I haven't the | |||||
| cash." | |||||
| "You've only to say the word, you know, Bicky, old top." | |||||
| "Thanks awfully, Bertie, but I'm not going to sponge on you." | |||||
| That's always the way in this world. The chappies you'd like to lend money to | |||||
| won't let you, whereas the chappies you don't want to lend it to will do | |||||
| everything except actually stand you on your head and lift the specie out of | |||||
| your pockets. As a lad who has always rolled tolerably free in the right | |||||
| stuff, I've had lots of experience of the second class. Many's the time, back | |||||
| in London, I've hurried along Piccadilly and felt the hot breath of the | |||||
| toucher on the back of my neck and heard his sharp, excited yapping as he | |||||
| closed in on me. I've simply spent my life scattering largesse to blighters I | |||||
| didn't care a hang for; yet here was I now, dripping doubloons and pieces of | |||||
| eight and longing to hand them over, and Bicky, poor fish, absolutely on his | |||||
| uppers, not taking any at any price. | |||||
| "Well, there's only one hope, then." | |||||
| "What's that?" | |||||
| "Jeeves." | |||||
| "Sir?" | |||||
| There was Jeeves, standing behind me, full of zeal. In this matter of | |||||
| shimmering into rooms the chappie is rummy to a degree. You're sitting in the | |||||
| old armchair, thinking of this and that, and then suddenly you look up, and | |||||
| there he is. He moves from point to point with as little uproar as a jelly | |||||
| fish. The thing startled poor old Bicky considerably. He rose from his seat | |||||
| like a rocketing pheasant. I'm used to Jeeves now, but often in the days when | |||||
| he first came to me I've bitten my tongue freely on finding him unexpectedly | |||||
| in my midst. | |||||
| [My Man Jeeves by PG Wodehouse][MMJ] | |||||
| [MMJ]: http://www.gutenberg.org/cache/epub/8164/pg8164.html | |||||
| @@ -0,0 +1,144 @@ | |||||
| --- | |||||
| title: A Happy Post | |||||
| description: > | |||||
| Smile. Laugh. | |||||
| created: !!timestamp '2011-02-01 10:00:00' | |||||
| tags: | |||||
| - happy | |||||
| - thoughts | |||||
| --- | |||||
| {% mark excerpt -%} | |||||
| Lady Malvern was a hearty, happy, healthy, overpowering sort of dashed female, | |||||
| not so very tall but making up for it by measuring about six feet from the | |||||
| O.P. to the Prompt Side. | |||||
| {%- endmark %} | |||||
| She fitted into my biggest arm-chair as if it had | |||||
| been built round her by someone who knew they were wearing arm-chairs tight | |||||
| about the hips that season. She had bright, bulging eyes and a lot of yellow | |||||
| hair, and when she spoke she showed about fifty-seven front teeth. She was one | |||||
| of those women who kind of numb a fellow's faculties. She made me feel as if I | |||||
| were ten years old and had been brought into the drawing-room in my Sunday | |||||
| clothes to say how-d'you-do. Altogether by no means the sort of thing a | |||||
| chappie would wish to find in his sitting-room before breakfast. | |||||
| Motty, the son, was about twenty-three, tall and thin and meek-looking. He had | |||||
| the same yellow hair as his mother, but he wore it plastered down and parted | |||||
| in the middle. His eyes bulged, too, but they weren't bright. They were a dull | |||||
| grey with pink rims. His chin gave up the struggle about half-way down, and he | |||||
| didn't appear to have any eyelashes. A mild, furtive, sheepish sort of | |||||
| blighter, in short. | |||||
| "Awfully glad to see you," I said. "So you've popped over, eh? Making a long | |||||
| stay in America?" | |||||
| "About a month. Your aunt gave me your address and told me to be sure and call | |||||
| on you." | |||||
| I was glad to hear this, as it showed that Aunt Agatha was beginning to come | |||||
| round a bit. There had been some unpleasantness a year before, when she had | |||||
| sent me over to New York to disentangle my Cousin Gussie from the clutches of | |||||
| a girl on the music-hall stage. When I tell you that by the time I had | |||||
| finished my operations, Gussie had not only married the girl but had gone on | |||||
| the stage himself, and was doing well, you'll understand that Aunt Agatha was | |||||
| upset to no small extent. I simply hadn't dared go back and face her, and it | |||||
| was a relief to find that time had healed the wound and all that sort of thing | |||||
| enough to make her tell her pals to look me up. What I mean is, much as I | |||||
| liked America, I didn't want to have England barred to me for the rest of my | |||||
| natural; and, believe me, England is a jolly sight too small for anyone to | |||||
| live in with Aunt Agatha, if she's really on the warpath. So I braced on | |||||
| hearing these kind words and smiled genially on the assemblage. | |||||
| "Your aunt said that you would do anything that was in your power to be of | |||||
| assistance to us." | |||||
| "Rather? Oh, rather! Absolutely!" | |||||
| "Thank you so much. I want you to put dear Motty up for a little while." | |||||
| I didn't get this for a moment. | |||||
| "Put him up? For my clubs?" | |||||
| "No, no! Darling Motty is essentially a home bird. Aren't you, Motty darling?" | |||||
| Motty, who was sucking the knob of his stick, uncorked himself. | |||||
| "Yes, mother," he said, and corked himself up again. | |||||
| "I should not like him to belong to clubs. I mean put him up here. Have him to | |||||
| live with you while I am away." | |||||
| These frightful words trickled out of her like honey. The woman simply didn't | |||||
| seem to understand the ghastly nature of her proposal. I gave Motty the swift | |||||
| east-to-west. He was sitting with his mouth nuzzling the stick, blinking at | |||||
| the wall. The thought of having this planted on me for an indefinite period | |||||
| appalled me. Absolutely appalled me, don't you know. I was just starting to | |||||
| say that the shot wasn't on the board at any price, and that the first sign | |||||
| Motty gave of trying to nestle into my little home I would yell for the | |||||
| police, when she went on, rolling placidly over me, as it were. | |||||
| There was something about this woman that sapped a chappie's will-power. | |||||
| "I am leaving New York by the midday train, as I have to pay a visit to | |||||
| Sing-Sing prison. I am extremely interested in prison conditions in America. | |||||
| After that I work my way gradually across to the coast, visiting the points of | |||||
| interest on the journey. You see, Mr. Wooster, I am in America principally on | |||||
| business. No doubt you read my book, India and the Indians? My publishers are | |||||
| anxious for me to write a companion volume on the United States. I shall not | |||||
| be able to spend more than a month in the country, as I have to get back for | |||||
| the season, but a month should be ample. I was less than a month in India, and | |||||
| my dear friend Sir Roger Cremorne wrote his America from Within after a stay | |||||
| of only two weeks. I should love to take dear Motty with me, but the poor boy | |||||
| gets so sick when he travels by train. I shall have to pick him up on my | |||||
| return." | |||||
| From where I sat I could see Jeeves in the dining-room, laying the | |||||
| breakfast-table. I wished I could have had a minute with him alone. I felt | |||||
| certain that he would have been able to think of some way of putting a stop to | |||||
| this woman. | |||||
| "It will be such a relief to know that Motty is safe with you, Mr. Wooster. I | |||||
| know what the temptations of a great city are. Hitherto dear Motty has been | |||||
| sheltered from them. He has lived quietly with me in the country. I know that | |||||
| you will look after him carefully, Mr. Wooster. He will give very little | |||||
| trouble." She talked about the poor blighter as if he wasn't there. Not that | |||||
| Motty seemed to mind. He had stopped chewing his walking-stick and was sitting | |||||
| there with his mouth open. "He is a vegetarian and a teetotaller and is | |||||
| devoted to reading. Give him a nice book and he will be quite contented." She | |||||
| got up. "Thank you so much, Mr. Wooster! I don't know what I should have done | |||||
| without your help. Come, Motty! We have just time to see a few of the sights | |||||
| before my train goes. But I shall have to rely on you for most of my | |||||
| information about New York, darling. Be sure to keep your eyes open and take | |||||
| notes of your impressions! It will be such a help. Good-bye, Mr. Wooster. I | |||||
| will send Motty back early in the afternoon." | |||||
| They went out, and I howled for Jeeves. | |||||
| "Jeeves! What about it?" | |||||
| "Sir?" | |||||
| "What's to be done? You heard it all, didn't you? You were in the dining-room | |||||
| most of the time. That pill is coming to stay here." | |||||
| "Pill, sir?" | |||||
| "The excrescence." | |||||
| "I beg your pardon, sir?" | |||||
| I looked at Jeeves sharply. This sort of thing wasn't like him. It was as if | |||||
| he were deliberately trying to give me the pip. Then I understood. The man was | |||||
| really upset about that tie. He was trying to get his own back. | |||||
| "Lord Pershore will be staying here from to-night, Jeeves," I said coldly. | |||||
| "Very good, sir. Breakfast is ready, sir." | |||||
| [My Man Jeeves by PG Wodehouse][MMJ] | |||||
| [MMJ]: http://www.gutenberg.org/cache/epub/8164/pg8164.html | |||||
| @@ -0,0 +1,93 @@ | |||||
| --- | |||||
| title: A Sad Post | |||||
| description: > | |||||
| Something sad happened. | |||||
| created: !!timestamp '2010-12-01 10:00:00' | |||||
| tags: | |||||
| - sad | |||||
| - thoughts | |||||
| --- | |||||
| {% mark image -%} | |||||
|  | |||||
| {%- endmark %} | |||||
| {% mark excerpt -%} | |||||
| I went and dressed sadly. It will show you pretty well how pipped I was when I | |||||
| tell you that I near as a toucher put on a white tie with a dinner-jacket. I | |||||
| sallied out for a bit of food more to pass the time than because I wanted it. | |||||
| It seemed brutal to be wading into the bill of fare with poor old Bicky headed | |||||
| for the breadline. | |||||
| {%- endmark %} | |||||
| When I got back old Chiswick had gone to bed, but Bicky was there, hunched up | |||||
| in an arm-chair, brooding pretty tensely, with a cigarette hanging out of the | |||||
| corner of his mouth and a more or less glassy stare in his eyes. He had the | |||||
| aspect of one who had been soaked with what the newspaper chappies call "some | |||||
| blunt instrument." | |||||
| "This is a bit thick, old thing—what!" I said. | |||||
| He picked up his glass and drained it feverishly, overlooking the fact that it | |||||
| hadn't anything in it. | |||||
| "I'm done, Bertie!" he said. | |||||
| He had another go at the glass. It didn't seem to do him any good. | |||||
| "If only this had happened a week later, Bertie! My next month's money was due | |||||
| to roll in on Saturday. I could have worked a wheeze I've been reading about | |||||
| in the magazine advertisements. It seems that you can make a dashed amount of | |||||
| money if you can only collect a few dollars and start a chicken-farm. Jolly | |||||
| sound scheme, Bertie! Say you buy a hen—call it one hen for the sake of | |||||
| argument. It lays an egg every day of the week. You sell the eggs seven for | |||||
| twenty-five cents. Keep of hen costs nothing. Profit practically twenty-five | |||||
| cents on every seven eggs. Or look at it another way: Suppose you have a dozen | |||||
| eggs. Each of the hens has a dozen chickens. The chickens grow up and have | |||||
| more chickens. Why, in no time you'd have the place covered knee-deep in hens, | |||||
| all laying eggs, at twenty-five cents for every seven. You'd make a fortune. | |||||
| Jolly life, too, keeping hens!" He had begun to get quite worked up at the | |||||
| thought of it, but he slopped back in his chair at this juncture with a good | |||||
| deal of gloom. "But, of course, it's no good," he said, "because I haven't the | |||||
| cash." | |||||
| "You've only to say the word, you know, Bicky, old top." | |||||
| "Thanks awfully, Bertie, but I'm not going to sponge on you." | |||||
| That's always the way in this world. The chappies you'd like to lend money to | |||||
| won't let you, whereas the chappies you don't want to lend it to will do | |||||
| everything except actually stand you on your head and lift the specie out of | |||||
| your pockets. As a lad who has always rolled tolerably free in the right | |||||
| stuff, I've had lots of experience of the second class. Many's the time, back | |||||
| in London, I've hurried along Piccadilly and felt the hot breath of the | |||||
| toucher on the back of my neck and heard his sharp, excited yapping as he | |||||
| closed in on me. I've simply spent my life scattering largesse to blighters I | |||||
| didn't care a hang for; yet here was I now, dripping doubloons and pieces of | |||||
| eight and longing to hand them over, and Bicky, poor fish, absolutely on his | |||||
| uppers, not taking any at any price. | |||||
| "Well, there's only one hope, then." | |||||
| "What's that?" | |||||
| "Jeeves." | |||||
| "Sir?" | |||||
| There was Jeeves, standing behind me, full of zeal. In this matter of | |||||
| shimmering into rooms the chappie is rummy to a degree. You're sitting in the | |||||
| old armchair, thinking of this and that, and then suddenly you look up, and | |||||
| there he is. He moves from point to point with as little uproar as a jelly | |||||
| fish. The thing startled poor old Bicky considerably. He rose from his seat | |||||
| like a rocketing pheasant. I'm used to Jeeves now, but often in the days when | |||||
| he first came to me I've bitten my tongue freely on finding him unexpectedly | |||||
| in my midst. | |||||
| [My Man Jeeves by PG Wodehouse][MMJ] | |||||
| [MMJ]: http://www.gutenberg.org/cache/epub/8164/pg8164.html | |||||
| @@ -0,0 +1,11 @@ | |||||
| --- | |||||
| paginator: | |||||
| sorter: time | |||||
| size: 2 | |||||
| file_pattern: $FILE-$PAGE.$EXT | |||||
| --- | |||||
| {% for res in resource.page.posts %} | |||||
| {{ res.meta.title }} | |||||
| {% endfor %} | |||||
| {{ resource.page.previous.resource.url }} | |||||
| {{ resource.page.next.resource.url }} | |||||
| @@ -0,0 +1,10 @@ | |||||
| --- | |||||
| paginator: | |||||
| sorter: time | |||||
| size: 1 | |||||
| --- | |||||
| {% for res in resource.page.posts %} | |||||
| {{ res.meta.title }} | |||||
| {% endfor %} | |||||
| {{ resource.page.previous.resource.url }} | |||||
| {{ resource.page.next.resource.url }} | |||||
| @@ -0,0 +1,10 @@ | |||||
| --- | |||||
| paginator: | |||||
| sorter: time | |||||
| size: 10 | |||||
| --- | |||||
| {% for res in resource.page.posts %} | |||||
| {{ res.meta.title }} | |||||
| {% endfor %} | |||||
| {{ resource.page.previous.resource.url -}} | |||||
| {{ resource.page.next.resource.url -}} | |||||
| @@ -0,0 +1,3 @@ | |||||
| {% block content -%} | |||||
| {%- endblock %} | |||||
| @@ -0,0 +1,22 @@ | |||||
| mode: development | |||||
| media_root: media # Relative path from content folder. | |||||
| media_url: /media # URL where the media files are served from. | |||||
| base_url: / # The base url for autogenerated links. | |||||
| plugins: | |||||
| - hyde.ext.plugins.meta.MetaPlugin | |||||
| - hyde.ext.plugins.auto_extend.AutoExtendPlugin | |||||
| - hyde.ext.plugins.sorter.SorterPlugin | |||||
| - hyde.ext.plugins.paginator.PaginatorPlugin | |||||
| - hyde.ext.plugins.textlinks.TextlinksPlugin | |||||
| meta: | |||||
| nodemeta: meta.yaml | |||||
| created: !!timestamp 2010-01-01 00:00:00 | |||||
| extends: root.j2 | |||||
| default_block: content | |||||
| sorter: | |||||
| time: | |||||
| attr: | |||||
| - meta.created | |||||
| reverse: true | |||||
| filters: | |||||
| source.kind: html | |||||