@@ -15,3 +15,4 @@ build | |||
PYSMELLTAGS | |||
.noseids | |||
*.tar.gz | |||
.hyde_deps |
@@ -118,10 +118,11 @@ class FS(object): | |||
""" | |||
Gets the fragment of the current path starting at root. | |||
""" | |||
if self == root: | |||
if self.path == root: | |||
return '' | |||
ancestors = self.ancestors(stop=root) | |||
return functools.reduce(lambda f, p: Folder(p.name).child(f), | |||
self.ancestors(stop=root), | |||
ancestors, | |||
self.name) | |||
def get_mirror(self, target_root, source_root=None): | |||
@@ -7,6 +7,7 @@ from hyde.fs import File, Folder | |||
from hyde.model import Context, Dependents | |||
from hyde.plugin import Plugin | |||
from hyde.template import Template | |||
from hyde.site import Node, Resource | |||
from contextlib import contextmanager | |||
@@ -197,6 +198,18 @@ class Generator(object): | |||
node = self.site.content.node_from_path(node_path) | |||
self.generate_node(node, incremental) | |||
@contextmanager | |||
def events_for(self, obj): | |||
if not self.generated_once: | |||
self.events.begin_site() | |||
if isinstance(obj, Resource): | |||
self.events.begin_node(obj.node) | |||
yield | |||
if not self.generated_once: | |||
if isinstance(obj, Resource): | |||
self.events.node_complete(obj.node) | |||
self.events.site_complete() | |||
def generate_node(self, node=None, incremental=False): | |||
""" | |||
Generates the given node. If node is invalid, empty or | |||
@@ -210,7 +223,8 @@ class Generator(object): | |||
self.load_site_if_needed() | |||
try: | |||
self.__generate_node__(node, incremental) | |||
with self.events_for(node): | |||
self.__generate_node__(node, incremental) | |||
self.finalize() | |||
except HydeException: | |||
self.generate_all() | |||
@@ -245,8 +259,8 @@ class Generator(object): | |||
self.load_site_if_needed() | |||
try: | |||
self.__generate_resource__(resource, incremental) | |||
self.finalize() | |||
with self.events_for(resource): | |||
self.__generate_resource__(resource, incremental) | |||
except HydeException: | |||
self.generate_all() | |||
@@ -0,0 +1 @@ | |||
Basic template for hyde. |
@@ -0,0 +1,139 @@ | |||
--- | |||
title: An Angry Post | |||
description: > | |||
Temper. Temper. Temper. | |||
created: !!timestamp '2011-01-01 10:00:00' | |||
tags: | |||
- angry | |||
- thougts | |||
--- | |||
--- mark image | |||
![Airport]([[!!images/airport.png]]) | |||
--- endmark | |||
--- 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,150 @@ | |||
--- | |||
title: A Happy Post | |||
description: > | |||
Smile. Laugh. | |||
created: !!timestamp '2011-02-01 10:00:00' | |||
tags: | |||
- happy | |||
- thougts | |||
--- | |||
--- mark image | |||
![Airport]([[!!images/airport.png]]) | |||
--- endmark | |||
--- 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,7 @@ | |||
--- | |||
title: The Basic blog | |||
extends: listing.j2 | |||
default_block: test | |||
listable: false | |||
--- | |||
A |
@@ -0,0 +1,3 @@ | |||
extends: blog.j2 | |||
default_block: post | |||
listable: true |
@@ -0,0 +1,93 @@ | |||
--- | |||
title: A Sad Post | |||
description: > | |||
Something sad happened. | |||
created: !!timestamp '2010-12-01 10:00:00' | |||
tags: | |||
- sad | |||
- thougts | |||
--- | |||
--- mark image | |||
![A Dark Image]([[!!images/dark.png]]) | |||
--- 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,6 @@ | |||
--- | |||
title: BASIC - A hyde website | |||
description: Home page for the BASIC hyde template | |||
--- | |||
Ha Ha |
@@ -0,0 +1,191 @@ | |||
* { | |||
vertical-align: baseline; | |||
font-weight: inherit; | |||
font-family: inherit; | |||
font-style: inherit; | |||
text-decoration:inherit; | |||
font-size: 100%; | |||
padding: 0; | |||
border: 0; | |||
margin: 0; | |||
} | |||
table { | |||
border-collapse: collapse; | |||
} | |||
:focus { | |||
outline: 0; | |||
} | |||
::-moz-focus-inner { | |||
border: 0; | |||
} | |||
/* clearfix */ | |||
.clear:after { | |||
content: "."; | |||
display: block; | |||
clear: both; | |||
visibility: hidden; | |||
line-height: 0; | |||
height: 0; | |||
} | |||
.clear { | |||
display: block; | |||
} | |||
* html .clear { | |||
height: 1%; | |||
} | |||
a { | |||
color: black; | |||
text-decoration: underline; | |||
} | |||
a:hover{ | |||
color: red; | |||
} | |||
body{ | |||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; | |||
background-color: #efefef; | |||
padding: 0; | |||
margin: 0; | |||
text-shadow: 0px 2px 0px #efefef; | |||
} | |||
#container{ | |||
background-color: #eaeaea; | |||
width: 640px; | |||
margin: 0 auto; | |||
padding: 12px; | |||
-moz-box-shadow: 0px 4px 12px #ccc; /* FF3.5+ */ | |||
-webkit-box-shadow: 0px 4px 12px #ccc; /* Saf3.0+, Chrome */ | |||
box-shadow: 0px 4px 12px #ccc; /* Opera 10.5, IE 9.0 */ | |||
filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=12px, OffY=12px, Color='#ccc'); /* IE6,IE7 */ | |||
-ms-filter: "progid:DXImageTransform.Microsoft.dropshadow(OffX=12px, OffY=12px, Color='#ccc')"; /* IE8 */ | |||
} | |||
.banner{ | |||
border-bottom: 12px solid #ccc; | |||
padding: 0 12px; | |||
} | |||
.banner h1{ | |||
font-weight: 100; | |||
font-size: 32px; | |||
line-height: 48px; | |||
} | |||
.banner h3{ | |||
color: #666; | |||
font-weight: normal; | |||
font-size: 16px; | |||
line-height: 24px; | |||
margin-bottom: 12px; | |||
} | |||
h1.title{ | |||
font-size: 24px; | |||
line-height: 36px; | |||
border-bottom: 1px solid #ccc; | |||
} | |||
section.content{ | |||
padding: 12px; | |||
} | |||
/* listing */ | |||
.listing{ | |||
margin-top: 24px; | |||
} | |||
.listing img{ | |||
width: 120px; | |||
height: 120px; | |||
} | |||
.listing li{ | |||
background-color: #ededed; | |||
list-style-type: none; | |||
float: left; | |||
width: 272px; | |||
margin-right: 24px; | |||
margin-bottom: 24px; | |||
padding: 12px; | |||
-moz-box-shadow: 0px 4px 12px #ccc; /* FF3.5+ */ | |||
-webkit-box-shadow: 0px 4px 12px #ccc; /* Saf3.0+, Chrome */ | |||
box-shadow: 0px 4px 12px #ccc; /* Opera 10.5, IE 9.0 */ | |||
filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=12px, OffY=12px, Color='#ccc'); /* IE6,IE7 */ | |||
-ms-filter: "progid:DXImageTransform.Microsoft.dropshadow(OffX=12px, OffY=12px, Color='#ccc')"; /* IE8 */ | |||
} | |||
.listing li:nth-child(2){ | |||
margin-right: 0; | |||
} | |||
.listing li:nth-child(3){ | |||
clear: left; | |||
} | |||
.listing li p{ | |||
font-size: 10px; | |||
line-height: 12px; | |||
margin-bottom: 12px; | |||
} | |||
.listing h3{ | |||
border-bottom: 1px solid #ccc; | |||
font-size: 12px; | |||
line-height: 18px; | |||
margin-bottom: 6px; | |||
} | |||
.listing time{ | |||
display:block; | |||
border-top: 1px solid #ccc; | |||
padding-top: 4px; | |||
font-size: 10px; | |||
} | |||
/* Content */ | |||
article.post h1{ | |||
margin-bottom: 24px; | |||
} | |||
article.post p{ | |||
font-size: 12px; | |||
line-height: 24px; | |||
margin: 6px 0; | |||
} | |||
article.post img{ | |||
display: block; | |||
margin-bottom: 24px; | |||
} | |||
h1 a, h2 a, h3 a{ | |||
text-decoration: none; | |||
} | |||
a.backlink:before{ | |||
content: '\2190'; | |||
} | |||
a.backlink{ | |||
text-decoration: none; | |||
text-shadow: 0px 2px 0px #fff; | |||
} |
@@ -0,0 +1,59 @@ | |||
.c, .cm { color: #998; font-style: italic } /* Comments */ | |||
.err { color: #a61717; background-color: #e3d2d2 } /* Error */ | |||
.k { font-weight: bold } /* Keyword */ | |||
.o { font-weight: bold } /* Operator */ | |||
.cp { color: #999; font-weight: bold } /* Comment.Preproc */ | |||
.c1 { color: #998; font-style: italic } /* Comment.Single */ | |||
.cs { color: #999; font-weight: bold; font-style: italic } /* Comment.Special */ | |||
.gd { color: #000; background-color: #ffdddd } /* Generic.Deleted */ | |||
.gd .x { color: #000; background-color: #ffaaaa } /* Generic.Deleted.Specific */ | |||
.ge { font-style: italic } /* Generic.Emph */ | |||
.gr { color: #a00 } /* Generic.Error */ | |||
.gh { color: #999 } /* Generic.Heading */ | |||
.gi { color: #000; background-color: #ddffdd } /* Generic.Inserted */ | |||
.gi .x { color: #000; background-color: #aaffaa } /* Generic.Inserted.Specific */ | |||
.go { color: #888 } /* Generic.Output */ | |||
.gp { color: #555 } /* Generic.Prompt */ | |||
.gs { font-weight: bold } /* Generic.Strong */ | |||
.gu { color: #aaaaaa } /* Generic.Subheading */ | |||
.gt { color: #a00 } /* Generic.Traceback */ | |||
.kc { font-weight: bold } /* Keyword.Constant */ | |||
.kd { font-weight: bold } /* Keyword.Declaration */ | |||
.kp { font-weight: bold } /* Keyword.Pseudo */ | |||
.kr { font-weight: bold } /* Keyword.Reserved */ | |||
.kt { color: #445588; font-weight: bold } /* Keyword.Type */ | |||
.m { color: #099 } /* Literal.Number */ | |||
.s { color: #d14 } /* Literal.String */ | |||
.na { color: #008080 } /* Name.Attribute */ | |||
.nb { color: #0086B3 } /* Name.Builtin */ | |||
.nc { color: #445588; font-weight: bold } /* Name.Class */ | |||
.no { color: #008080 } /* Name.Constant */ | |||
.ni { color: #800080 } /* Name.Entity */ | |||
.ne { color: #900; font-weight: bold } /* Name.Exception */ | |||
.nf { color: #900; font-weight: bold } /* Name.Function */ | |||
.nn { color: #555 } /* Name.Namespace */ | |||
.nt { color: #000080 } /* Name.Tag */ | |||
.nv { color: #008080 } /* Name.Variable */ | |||
.ow { font-weight: bold } /* Operator.Word */ | |||
.w { color: #bbb } /* Text.Whitespace */ | |||
.mf { color: #099 } /* Literal.Number.Float */ | |||
.mh { color: #099 } /* Literal.Number.Hex */ | |||
.mi { color: #099 } /* Literal.Number.Integer */ | |||
.mo { color: #099 } /* Literal.Number.Oct */ | |||
.sb { color: #d14 } /* Literal.String.Backtick */ | |||
.sc { color: #d14 } /* Literal.String.Char */ | |||
.sd { color: #d14 } /* Literal.String.Doc */ | |||
.s2 { color: #d14 } /* Literal.String.Double */ | |||
.se { color: #d14 } /* Literal.String.Escape */ | |||
.sh { color: #d14 } /* Literal.String.Heredoc */ | |||
.si { color: #d14 } /* Literal.String.Interpol */ | |||
.sx { color: #d14 } /* Literal.String.Other */ | |||
.sr { color: #009926 } /* Literal.String.Regex */ | |||
.s1 { color: #d14 } /* Literal.String.Single */ | |||
.ss { color: #990073 } /* Literal.String.Symbol */ | |||
.bp { color: #999 } /* Name.Builtin.Pseudo */ | |||
.vc { color: #008080 } /* Name.Variable.Class */ | |||
.vg { color: #008080 } /* Name.Variable.Global */ | |||
.vi { color: #008080 } /* Name.Variable.Instance */ | |||
.il { color: #099 } /* Literal.Number.Integer.Long */ | |||
@@ -0,0 +1 @@ | |||
uses_template: false |
@@ -0,0 +1 @@ | |||
extends: false |
@@ -1,13 +1,3 @@ | |||
author: Lakshmi Vyasarajan | |||
description: A basic layout for hyde. Based on html5 boilerplate | |||
website: http://hydehub.org/hyde/templates/basic | |||
template: jinja2 (2.6) | |||
version: 0.1 | |||
dependencies: | |||
scripts: | |||
- jquery (1.4) | |||
- dd_belatedpng | |||
extensions: | |||
- media | |||
widgets: | |||
- analytics | |||
version: 0.1 |
@@ -1,8 +1,8 @@ | |||
{% if site.in_production_mode %} | |||
{% if site.config.mode == "production" %} | |||
<!-- asynchronous google analytics: mathiasbynens.be/notes/async-analytics-snippet | |||
change the UA-XXXXX-X to be your site's ID --> | |||
<script> | |||
var _gaq = [['_setAccount', '{{site.meta.GAID}}'], ['_trackPageview']]; | |||
var _gaq = [['_setAccount', '{{ resource.meta.analytics.id }}'], ['_trackPageview']]; | |||
(function(d, t) { | |||
var g = d.createElement(t), | |||
s = d.getElementsByTagName(t)[0]; |
@@ -1,102 +0,0 @@ | |||
{% extends "root.html" %} | |||
{% block all %} | |||
<!doctype html> | |||
<!-- https://github.com/paulirish/html5-boilerplate/blob/master/index.html --> | |||
<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ --> | |||
<!--[if lt IE 7 ]> <html lang="en" class="no-js ie6"> <![endif]--> | |||
<!--[if IE 7 ]> <html lang="en" class="no-js ie7"> <![endif]--> | |||
<!--[if IE 8 ]> <html lang="en" class="no-js ie8"> <![endif]--> | |||
<!--[if (gte IE 9)|!(IE)]><!--> <html lang="en" class="no-js"> <!--<![endif]--> | |||
<head> | |||
{% block starthead %}{% endblock starthead %} | |||
<meta charset="{{resource.meta.charset|default('utf-8')}}"> | |||
<!-- Always force latest IE rendering engine (even in intranet) & Chrome Frame | |||
Remove this if you use the .htaccess --> | |||
<meta http-equiv="X-UA-Compatible" content="{{page.meta.compatibility|default('IE=edge,chrome=1')}}"> | |||
<!-- encoding must be specified within the first 512 bytes www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#charset --> | |||
<!-- meta element for compatibility mode needs to be before all elements except title & meta msdn.microsoft.com/en-us/library/cc288325(VS.85).aspx --> | |||
<!-- Chrome Frame is only invoked if meta element for compatibility mode is within the first 1K bytes code.google.com/p/chromium/issues/detail?id=23003 --> | |||
<title>{% block title %}{{resource.meta.title}}{% endblock %}</title> | |||
<meta name="description" content="{{resource.meta.description}}"> | |||
<meta name="author" content="{{resource.meta.author}}"> | |||
<!-- Mobile viewport optimized: j.mp/bplateviewport --> | |||
<meta name="viewport" content="{{page.meta.viewport|default('width=device-width, initial-scale=1.0')}}"> | |||
{% block favicons %} | |||
<!-- Place favicon.ico & apple-touch-icon.png in the root of your domain and delete these references --> | |||
<link rel="shortcut icon" href="{{ media_url('/favicon.ico') }}"> | |||
<link rel="apple-touch-icon" href="{{ media_url('/apple-touch-icon.png') }}"> | |||
{% endblock favicons %} | |||
{% block css %} | |||
<!-- CSS : implied media="all" --> | |||
<link rel="stylesheet" href="{{ media_url('css/site.css') }}"> | |||
<!-- Uncomment if you are specifically targeting less enabled mobile browsers | |||
<link rel="stylesheet" media="handheld" href="css/handheld.css?v=2"> --> | |||
{% endblock css %} | |||
{% block headjs %} | |||
<!-- All JavaScript at the bottom, except for Modernizr which enables HTML5 elements & feature detects --> | |||
<script src="{{ media_url('js/libs/modernizr-1.6.min.js') }}"></script> | |||
{% endblock headjs %} | |||
{% block endhead %}{% endblock endhead %} | |||
</head> | |||
<body id="{{resource.id if resource.id else resource.name_without_extension}}"> | |||
{% block content %} | |||
<div id="container"> | |||
{% block container %} | |||
<header> | |||
{% block header %}{% endblock header %} | |||
</header> | |||
<div id="main" role="main"> | |||
{% block main %}{% endblock main %} | |||
</div> | |||
<footer> | |||
{% block footer %}{% endblock %} | |||
</footer> | |||
{% endblock container%} | |||
</div> <!--! end of #container --> | |||
{% endblock content%} | |||
{% block js %} | |||
<!-- Javascript at the bottom for fast page loading --> | |||
{% block jquery %} | |||
<!-- Grab Google CDN's jQuery. fall back to local if necessary --> | |||
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.js"></script> | |||
<script>!window.jQuery && document.write(unescape('%3Cscript src="{{ media_url('js/libs/jquery-1.4.4.js') }}"%3E%3C/script%3E'))</script> | |||
{% endblock jquery %} | |||
{% block scripts %} | |||
<!-- scripts concatenated and minified via ant build script--> | |||
<script src="{{ media_url('js/plugins.js') }}"></script> | |||
<script src="{{ media_url('js/script.js') }}"></script> | |||
<!-- end concatenated and minified scripts--> | |||
{% endblock scripts %} | |||
{% block pngfix %} | |||
<!--[if lt IE 7 ]> | |||
<script> | |||
// More information on tackling transparent PNGs for IE goo.gl/mZiyb | |||
//fix any <img> or .png_bg background-images | |||
$.getScript("{{ media_url('js/libs/dd_belatedpng.js') }}",function(){ DD_belatedPNG.fix('img, .png_bg'); }); | |||
</script> | |||
<![endif]--> | |||
{% endblock pngfix %} | |||
{% block debug %} | |||
{% include "devmode.html" %} | |||
{% endblock debug %} | |||
{%block analytics %} | |||
{% include "analytics.html" %} | |||
{% endblock analytics %} | |||
{% endblock js %} | |||
</body> | |||
</html> | |||
{% endblock all %} |
@@ -0,0 +1,96 @@ | |||
<!doctype html> | |||
<!-- https://github.com/paulirish/html5-boilerplate/blob/master/index.html --> | |||
<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ --> | |||
<!--[if lt IE 7 ]> <html lang="en" class="no-js ie6"> <![endif]--> | |||
<!--[if IE 7 ]> <html lang="en" class="no-js ie7"> <![endif]--> | |||
<!--[if IE 8 ]> <html lang="en" class="no-js ie8"> <![endif]--> | |||
<!--[if (gte IE 9)|!(IE)]><!--> <html lang="en" class="no-js"> <!--<![endif]--> | |||
<head> | |||
{% block starthead %}{% endblock starthead %} | |||
<meta charset="{{ resource.meta.charset }}"> | |||
<!-- Always force latest IE rendering engine (even in intranet) & Chrome Frame | |||
Remove this if you use the .htaccess --> | |||
<meta http-equiv="X-UA-Compatible" content="{{ resource.meta.compatibility }}"> | |||
<!-- encoding must be specified within the first 512 bytes | |||
www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#charset --> | |||
<!-- meta element for compatibility mode needs to be before | |||
all elements except title & meta | |||
msdn.microsoft.com/en-us/library/cc288325(VS.85).aspx --> | |||
<!-- Chrome Frame is only invoked if meta element for | |||
compatibility mode is within the first 1K bytes | |||
code.google.com/p/chromium/issues/detail?id=23003 --> | |||
<title>{% block title %}{{ resource.meta.title }}{% endblock %}</title> | |||
<meta name="description" content="{{ resource.meta.description }}"> | |||
<meta name="author" content="{{ resource.meta.author }}"> | |||
<!-- Mobile viewport optimized: j.mp/bplateviewport --> | |||
<meta name="viewport" content="{{ resource.meta.viewport }}"> | |||
{% block favicons %} | |||
<!-- Place favicon.ico & apple-touch-icon.png | |||
in the root of your domain and delete these references --> | |||
<link rel="shortcut icon" href="{{ media_url('/favicon.ico') }}"> | |||
<link rel="apple-touch-icon" href="{{ media_url('/apple-touch-icon.png') }}"> | |||
{% endblock favicons %} | |||
{% block css %} | |||
<link rel="stylesheet" href="{{ media_url('css/site.css') }}"> | |||
<link rel="stylesheet" href="{{ media_url('css/syntax.css') }}"> | |||
{% endblock css %} | |||
{% block headjs %} | |||
<!-- All JavaScript at the bottom, except for Modernizr which | |||
enables HTML5 elements & feature detects --> | |||
<script src="{{ media_url('js/libs/modernizr-1.7.min.js') }}"></script> | |||
{% endblock headjs %} | |||
{% block endhead %}{% endblock endhead %} | |||
</head> | |||
<body id="{{ resource.meta.id if resource.meta.id else resource.slug }}"> | |||
{% block content %} | |||
<div id="container"> | |||
{% block container %} | |||
<div id="main" role="main"> | |||
<header class="banner clearfix"> | |||
{% block header -%} | |||
<h1>BASIC</h1> | |||
<h3>A hyde website</h3> | |||
{%- endblock %} | |||
</header> | |||
<section class="content"> | |||
{% block main %} | |||
{% endblock main %} | |||
</section> | |||
</div> | |||
<footer> | |||
</footer> | |||
{% endblock container %} | |||
</div> <!--! end of #container --> | |||
{% endblock content%} | |||
{% block js %} | |||
<!-- Javascript at the bottom for fast page loading --> | |||
{% block jquery %} | |||
<!-- Grab Google CDN's jQuery, with a protocol relative URL; fall back to local if necessary --> | |||
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.js"></script> | |||
<script>window.jQuery || document.write('<script src="js/libs/jquery-1.5.1.min.js">\x3C/script>')</script> | |||
{% endblock jquery %} | |||
{% block scripts %} | |||
{% endblock scripts %} | |||
<!--[if lt IE 7 ]> | |||
<script src="js/libs/dd_belatedpng.js"></script> | |||
<script>DD_belatedPNG.fix('img, .png_bg'); // Fix any <img> or .png_bg bg-images. Also, please read goo.gl/mZiyb </script> | |||
<![endif]--> | |||
{% block analytics %} | |||
{% include "analytics.j2" %} | |||
{% endblock analytics %} | |||
{% endblock js %} | |||
</body> | |||
</html> |
@@ -0,0 +1,18 @@ | |||
{% extends "base.j2" %} | |||
{% block main -%} | |||
<article class="post"> | |||
<a class="backlink" href="{{ content_url(resource.node.url) }}">Back to list</a> | |||
<h1 class="title"> | |||
<a href="{{ content_url(resource.url) }}"> | |||
{{ resource.meta.title }} | |||
</a> | |||
</h1> | |||
{% filter markdown|typogrify -%} | |||
{% block post -%}{%- endblock %} | |||
{%- endfilter %} | |||
</article> | |||
{%- endblock %} |
@@ -1,6 +0,0 @@ | |||
{%if not site.in_production_mode %} | |||
<!-- yui profiler and profileviewer - remove for production --> | |||
<script src="js/profiling/yahoo-profiling.min.js"></script> | |||
<script src="js/profiling/config.js"></script> | |||
<!-- end profiling code --> | |||
{% endif %} |
@@ -0,0 +1,4 @@ | |||
{%if not site.config.mode == "production" %} | |||
<script src="js/profiling/yahoo-profiling.min.js"></script> | |||
<script src="js/profiling/config.js"></script> | |||
{% endif %} |
@@ -0,0 +1,21 @@ | |||
{% extends "base.j2" %} | |||
{% block main %} | |||
{% block page_title %}<h1 class="title">{{ resource.meta.title }}</h1>{% endblock %} | |||
<ul class="listing clear"> | |||
{% for res in resource.node.walk_resources_sorted_by_time() %} | |||
{% refer to res.url as post %} | |||
<li> | |||
<article> | |||
<h3><a href="{{ content_url(res.url) }}">{{ res.meta.title }}</a></h3> | |||
<a href="{{ content_url(res.url) }}">{{ post.image|markdown|typogrify }}</a> | |||
{{ post.excerpt|markdown|typogrify }} | |||
<time datetime="{{ res.meta.created.strftime('%Y-%m-%d') }}"> | |||
Posted: {{ res.meta.created.strftime('%a, %d %b %Y') }} | |||
</time> | |||
</article> | |||
</li> | |||
{% endfor %} | |||
</ul> | |||
{% endblock %} |
@@ -1 +0,0 @@ | |||
{% block all %}{% endblock %} |
@@ -1,9 +1,23 @@ | |||
site: | |||
mode: development | |||
media: | |||
root: | |||
path: media # Relative path from site root (the directory where this file exists) | |||
url: /media | |||
widgets: | |||
plugins: | |||
aggregators: | |||
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.grouper.GrouperPlugin | |||
- hyde.ext.plugins.syntext.SyntextPlugin | |||
- hyde.ext.plugins.textlinks.TextlinksPlugin | |||
meta: | |||
nodemeta: meta.yaml | |||
created: !!timestamp 2010-01-01 00:00:00 | |||
sorter: | |||
time: | |||
attr: | |||
- meta.created | |||
reverse: true | |||
filters: | |||
source.kind: html | |||
meta.listable: true | |||
@@ -7,7 +7,8 @@ created: 2011-01-25 21:31:03 | |||
§§ blurb | |||
Hyde is a static website generator written in python. While Hyde took | |||
life as [awesome Jekyll][Jekyll]'s [evil twin][], it has since been | |||
completely consumed by [the dark side][python] and has an [identity of its own][hydeid]. | |||
completely consumed by [the dark side][python] and has an | |||
[identity of its own][hydeid]. | |||
Hyde desires to fulfill the lofty goal of removing the | |||
[pain points][static cons] involved in creating and maintaining | |||
@@ -37,7 +38,8 @@ pip install -e https://github.com/hyde/hyde#egg=hyde | |||
~~~~~~~~ | |||
You can find more detailed documentation in the [installation section][install]. | |||
You can find more detailed documentation in the | |||
[installation section][install]. | |||
## Run | |||
@@ -0,0 +1 @@ | |||
deploy_root: ../../../../hyde.github.com |
@@ -2,7 +2,6 @@ mode: development | |||
media_root:: media | |||
media_url: /media | |||
base_url: / | |||
deploy_root: ../../../../hyde.github.com | |||
template: hyde.ext.templates.jinja.Jinja2Template | |||
plugins: | |||
- hyde.ext.plugins.meta.MetaPlugin | |||
@@ -30,10 +29,9 @@ meta: | |||
hyde,python,django,jinja,static website,static site, | |||
generator,html generator | |||
author: Lakshmi Vyasarajan | |||
less: | |||
app: ~/local/bin/lessc | |||
stylus: | |||
app: ~/local/bin/stylus | |||
markdown: | |||
extensions: | |||
- def_list | |||
- headerid | |||
- tables | |||
- headerid |