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 | |||