mirror of
https://github.com/getpelican/pelican.git
synced 2025-10-15 20:28:56 +02:00
Merge pull request #460 from getpelican/remove-url-rewriting
Don't rewrite URLs
This commit is contained in:
commit
f9e7c86a1a
57 changed files with 426 additions and 186 deletions
|
|
@ -226,6 +226,50 @@ If you want to exclude any pages from being linked to or listed in the menu
|
||||||
then add a ``status: hidden`` attribute to its metadata. This is useful for
|
then add a ``status: hidden`` attribute to its metadata. This is useful for
|
||||||
things like making error pages that fit the generated theme of your site.
|
things like making error pages that fit the generated theme of your site.
|
||||||
|
|
||||||
|
Linking to internal content
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
Since Pelican 3.1, you now have the ability to do cross-site linking.
|
||||||
|
|
||||||
|
To link to an internal content, you will have to use the following syntax:
|
||||||
|
``|filename|path/to/file``.
|
||||||
|
|
||||||
|
For example, you may want to add links between "article1" and "article2" given
|
||||||
|
the structure::
|
||||||
|
|
||||||
|
website/
|
||||||
|
├── content
|
||||||
|
│ ├── article1.rst
|
||||||
|
│ └── cat/
|
||||||
|
│ └── article2.md
|
||||||
|
└── pelican.conf.py
|
||||||
|
|
||||||
|
In this example, ``article1.rst`` could look like::
|
||||||
|
|
||||||
|
Title: The first article
|
||||||
|
Date: 2012-12-01
|
||||||
|
|
||||||
|
See below cross-site links examples in restructured text.
|
||||||
|
|
||||||
|
`a root-relative link <|filename|/cat/article2.md>`_
|
||||||
|
`a file-relative link <|filename|cat/article2.md>`_
|
||||||
|
|
||||||
|
and ``article2.md``::
|
||||||
|
|
||||||
|
Title: The second article
|
||||||
|
Date: 2012-12-01
|
||||||
|
|
||||||
|
See below cross-site links examples in markdown.
|
||||||
|
|
||||||
|
[a root-relative link](|filename|/article1.rst)
|
||||||
|
[a file-relative link](|filename|../article1.rst)
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
You can use the same syntax to link to internal pages or even static
|
||||||
|
content (like images) which would be available in a directory listed in
|
||||||
|
``settings["STATIC_PATHS"]``.
|
||||||
|
|
||||||
Importing an existing blog
|
Importing an existing blog
|
||||||
--------------------------
|
--------------------------
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -134,6 +134,8 @@ class Pelican(object):
|
||||||
"""Run the generators and return"""
|
"""Run the generators and return"""
|
||||||
|
|
||||||
context = self.settings.copy()
|
context = self.settings.copy()
|
||||||
|
context['filenames'] = {} # share the dict between all the generators
|
||||||
|
context['localsiteurl'] = self.settings.get('SITEURL') # share
|
||||||
generators = [
|
generators = [
|
||||||
cls(
|
cls(
|
||||||
context,
|
context,
|
||||||
|
|
@ -142,7 +144,6 @@ class Pelican(object):
|
||||||
self.theme,
|
self.theme,
|
||||||
self.output_path,
|
self.output_path,
|
||||||
self.markup,
|
self.markup,
|
||||||
self.delete_outputdir
|
|
||||||
) for cls in self.get_generator_classes()
|
) for cls in self.get_generator_classes()
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,13 +3,15 @@ import copy
|
||||||
import locale
|
import locale
|
||||||
import logging
|
import logging
|
||||||
import functools
|
import functools
|
||||||
|
import os
|
||||||
|
import re
|
||||||
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from sys import platform, stdin
|
from sys import platform, stdin
|
||||||
|
|
||||||
|
|
||||||
from pelican.settings import _DEFAULT_CONFIG
|
from pelican.settings import _DEFAULT_CONFIG
|
||||||
from pelican.utils import slugify, truncate_html_words
|
from pelican.utils import slugify, truncate_html_words, memoized
|
||||||
from pelican import signals
|
from pelican import signals
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
@ -25,7 +27,7 @@ class Page(object):
|
||||||
default_template = 'page'
|
default_template = 'page'
|
||||||
|
|
||||||
def __init__(self, content, metadata=None, settings=None,
|
def __init__(self, content, metadata=None, settings=None,
|
||||||
filename=None):
|
filename=None, context=None):
|
||||||
# init parameters
|
# init parameters
|
||||||
if not metadata:
|
if not metadata:
|
||||||
metadata = {}
|
metadata = {}
|
||||||
|
|
@ -34,6 +36,7 @@ class Page(object):
|
||||||
|
|
||||||
self.settings = settings
|
self.settings = settings
|
||||||
self._content = content
|
self._content = content
|
||||||
|
self._context = context
|
||||||
self.translations = []
|
self.translations = []
|
||||||
|
|
||||||
local_metadata = dict(settings.get('DEFAULT_METADATA', ()))
|
local_metadata = dict(settings.get('DEFAULT_METADATA', ()))
|
||||||
|
|
@ -128,13 +131,60 @@ class Page(object):
|
||||||
key = key if self.in_default_lang else 'lang_%s' % key
|
key = key if self.in_default_lang else 'lang_%s' % key
|
||||||
return self._expand_settings(key)
|
return self._expand_settings(key)
|
||||||
|
|
||||||
|
def _update_content(self, content, siteurl):
|
||||||
|
"""Change all the relative paths of the content to relative paths
|
||||||
|
suitable for the ouput content.
|
||||||
|
|
||||||
|
:param content: content resource that will be passed to the templates.
|
||||||
|
:param siteurl: siteurl which is locally generated by the writer in
|
||||||
|
case of RELATIVE_URLS.
|
||||||
|
"""
|
||||||
|
hrefs = re.compile(r"""
|
||||||
|
(?P<markup><\s*[^\>]* # match tag with src and href attr
|
||||||
|
(?:href|src)\s*=)
|
||||||
|
|
||||||
|
(?P<quote>["\']) # require value to be quoted
|
||||||
|
(?P<path>\|(?P<what>.*?)\|(?P<value>.*?)) # the url value
|
||||||
|
\2""", re.X)
|
||||||
|
|
||||||
|
def replacer(m):
|
||||||
|
what = m.group('what')
|
||||||
|
value = m.group('value')
|
||||||
|
origin = m.group('path')
|
||||||
|
# we support only filename for now. the plan is to support
|
||||||
|
# categories, tags, etc. in the future, but let's keep things
|
||||||
|
# simple for now.
|
||||||
|
if what == 'filename':
|
||||||
|
if value.startswith('/'):
|
||||||
|
value = value[1:]
|
||||||
|
else:
|
||||||
|
# relative to the filename of this content
|
||||||
|
value = self.get_relative_filename(
|
||||||
|
os.path.join(self.relative_dir, value)
|
||||||
|
)
|
||||||
|
|
||||||
|
if value in self._context['filenames']:
|
||||||
|
origin = '/'.join((siteurl,
|
||||||
|
self._context['filenames'][value].url))
|
||||||
|
else:
|
||||||
|
logger.warning(u"Unable to find {fn}, skipping url"
|
||||||
|
" replacement".format(fn=value))
|
||||||
|
|
||||||
|
return m.group('markup') + m.group('quote') + origin \
|
||||||
|
+ m.group('quote')
|
||||||
|
|
||||||
|
return hrefs.sub(replacer, content)
|
||||||
|
|
||||||
|
@memoized
|
||||||
|
def get_content(self, siteurl):
|
||||||
|
return self._update_content(
|
||||||
|
self._get_content() if hasattr(self, "_get_content")
|
||||||
|
else self._content,
|
||||||
|
siteurl)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def content(self):
|
def content(self):
|
||||||
if hasattr(self, "_get_content"):
|
return self.get_content(self._context['localsiteurl'])
|
||||||
content = self._get_content()
|
|
||||||
else:
|
|
||||||
content = self._content
|
|
||||||
return content
|
|
||||||
|
|
||||||
def _get_summary(self):
|
def _get_summary(self):
|
||||||
"""Returns the summary of an article, based on the summary metadata
|
"""Returns the summary of an article, based on the summary metadata
|
||||||
|
|
@ -143,7 +193,8 @@ class Page(object):
|
||||||
return self._summary
|
return self._summary
|
||||||
else:
|
else:
|
||||||
if self.settings['SUMMARY_MAX_LENGTH']:
|
if self.settings['SUMMARY_MAX_LENGTH']:
|
||||||
return truncate_html_words(self.content, self.settings['SUMMARY_MAX_LENGTH'])
|
return truncate_html_words(self.content,
|
||||||
|
self.settings['SUMMARY_MAX_LENGTH'])
|
||||||
return self.content
|
return self.content
|
||||||
|
|
||||||
def _set_summary(self, summary):
|
def _set_summary(self, summary):
|
||||||
|
|
@ -162,6 +213,27 @@ class Page(object):
|
||||||
else:
|
else:
|
||||||
return self.default_template
|
return self.default_template
|
||||||
|
|
||||||
|
def get_relative_filename(self, filename=None):
|
||||||
|
"""Return the relative path (from the content path) to the given
|
||||||
|
filename.
|
||||||
|
|
||||||
|
If no filename is specified, use the filename of this content object.
|
||||||
|
"""
|
||||||
|
if not filename:
|
||||||
|
filename = self.filename
|
||||||
|
|
||||||
|
return os.path.relpath(
|
||||||
|
os.path.abspath(os.path.join(self.settings['PATH'], filename)),
|
||||||
|
os.path.abspath(self.settings['PATH'])
|
||||||
|
)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def relative_dir(self):
|
||||||
|
return os.path.dirname(os.path.relpath(
|
||||||
|
os.path.abspath(self.filename),
|
||||||
|
os.path.abspath(self.settings['PATH']))
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class Article(Page):
|
class Article(Page):
|
||||||
mandatory_properties = ('title', 'date', 'category')
|
mandatory_properties = ('title', 'date', 'category')
|
||||||
|
|
@ -227,11 +299,27 @@ class Author(URLWrapper):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class StaticContent(object):
|
||||||
|
def __init__(self, src, dst=None, settings=None):
|
||||||
|
if not settings:
|
||||||
|
settings = copy.deepcopy(_DEFAULT_CONFIG)
|
||||||
|
self.src = src
|
||||||
|
self.url = dst or src
|
||||||
|
self.filepath = os.path.join(settings['PATH'], src)
|
||||||
|
self.save_as = os.path.join(settings['OUTPUT_PATH'], self.url)
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return str(self.filepath.encode('utf-8', 'replace'))
|
||||||
|
|
||||||
|
def __unicode__(self):
|
||||||
|
return self.filepath
|
||||||
|
|
||||||
|
|
||||||
def is_valid_content(content, f):
|
def is_valid_content(content, f):
|
||||||
try:
|
try:
|
||||||
content.check_properties()
|
content.check_properties()
|
||||||
return True
|
return True
|
||||||
except NameError, e:
|
except NameError, e:
|
||||||
logger.error(u"Skipping %s: impossible to find informations about '%s'"\
|
logger.error(u"Skipping %s: impossible to find informations about"
|
||||||
% (f, e))
|
"'%s'" % (f, e))
|
||||||
return False
|
return False
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ import random
|
||||||
import logging
|
import logging
|
||||||
import datetime
|
import datetime
|
||||||
import subprocess
|
import subprocess
|
||||||
|
import shutil
|
||||||
|
|
||||||
from codecs import open
|
from codecs import open
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
|
|
@ -15,9 +16,10 @@ from operator import attrgetter, itemgetter
|
||||||
from jinja2 import (Environment, FileSystemLoader, PrefixLoader, ChoiceLoader,
|
from jinja2 import (Environment, FileSystemLoader, PrefixLoader, ChoiceLoader,
|
||||||
BaseLoader, TemplateNotFound)
|
BaseLoader, TemplateNotFound)
|
||||||
|
|
||||||
from pelican.contents import Article, Page, Category, is_valid_content
|
from pelican.contents import Article, Page, Category, StaticContent, \
|
||||||
|
is_valid_content
|
||||||
from pelican.readers import read_file
|
from pelican.readers import read_file
|
||||||
from pelican.utils import copy, process_translations
|
from pelican.utils import copy, process_translations, mkdir_p
|
||||||
from pelican import signals
|
from pelican import signals
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -82,8 +84,10 @@ class Generator(object):
|
||||||
|
|
||||||
:param path: the path to search the file on
|
:param path: the path to search the file on
|
||||||
:param exclude: the list of path to exclude
|
:param exclude: the list of path to exclude
|
||||||
|
:param extensions: the list of allowed extensions (if False, all
|
||||||
|
extensions are allowed)
|
||||||
"""
|
"""
|
||||||
if not extensions:
|
if extensions is None:
|
||||||
extensions = self.markup
|
extensions = self.markup
|
||||||
|
|
||||||
files = []
|
files = []
|
||||||
|
|
@ -97,10 +101,17 @@ class Generator(object):
|
||||||
for e in exclude:
|
for e in exclude:
|
||||||
if e in dirs:
|
if e in dirs:
|
||||||
dirs.remove(e)
|
dirs.remove(e)
|
||||||
files.extend([os.sep.join((root, f)) for f in temp_files
|
for f in temp_files:
|
||||||
if True in [f.endswith(ext) for ext in extensions]])
|
if extensions is False or \
|
||||||
|
(True in [f.endswith(ext) for ext in extensions]):
|
||||||
|
files.append(os.sep.join((root, f)))
|
||||||
return files
|
return files
|
||||||
|
|
||||||
|
def add_filename(self, content):
|
||||||
|
location = os.path.relpath(os.path.abspath(content.filename),
|
||||||
|
os.path.abspath(self.path))
|
||||||
|
self.context['filenames'][location] = content
|
||||||
|
|
||||||
def _update_context(self, items):
|
def _update_context(self, items):
|
||||||
"""Update the context with the given items from the currrent
|
"""Update the context with the given items from the currrent
|
||||||
processor.
|
processor.
|
||||||
|
|
@ -300,7 +311,7 @@ class ArticlesGenerator(Generator):
|
||||||
self.generate_drafts(write)
|
self.generate_drafts(write)
|
||||||
|
|
||||||
def generate_context(self):
|
def generate_context(self):
|
||||||
"""change the context"""
|
"""Add the articles into the shared context"""
|
||||||
|
|
||||||
article_path = os.path.normpath( # we have to remove trailing slashes
|
article_path = os.path.normpath( # we have to remove trailing slashes
|
||||||
os.path.join(self.path, self.settings['ARTICLE_DIR'])
|
os.path.join(self.path, self.settings['ARTICLE_DIR'])
|
||||||
|
|
@ -341,10 +352,12 @@ class ArticlesGenerator(Generator):
|
||||||
|
|
||||||
signals.article_generate_context.send(self, metadata=metadata)
|
signals.article_generate_context.send(self, metadata=metadata)
|
||||||
article = Article(content, metadata, settings=self.settings,
|
article = Article(content, metadata, settings=self.settings,
|
||||||
filename=f)
|
filename=f, context=self.context)
|
||||||
if not is_valid_content(article, f):
|
if not is_valid_content(article, f):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
self.add_filename(article)
|
||||||
|
|
||||||
if article.status == "published":
|
if article.status == "published":
|
||||||
if hasattr(article, 'tags'):
|
if hasattr(article, 'tags'):
|
||||||
for tag in article.tags:
|
for tag in article.tags:
|
||||||
|
|
@ -440,11 +453,14 @@ class PagesGenerator(Generator):
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
logger.warning(u'Could not process %s\n%s' % (f, str(e)))
|
logger.warning(u'Could not process %s\n%s' % (f, str(e)))
|
||||||
continue
|
continue
|
||||||
signals.pages_generate_context.send(self, metadata=metadata )
|
signals.pages_generate_context.send(self, metadata=metadata)
|
||||||
page = Page(content, metadata, settings=self.settings,
|
page = Page(content, metadata, settings=self.settings,
|
||||||
filename=f)
|
filename=f, context=self.context)
|
||||||
if not is_valid_content(page, f):
|
if not is_valid_content(page, f):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
self.add_filename(page)
|
||||||
|
|
||||||
if page.status == "published":
|
if page.status == "published":
|
||||||
all_pages.append(page)
|
all_pages.append(page)
|
||||||
elif page.status == "hidden":
|
elif page.status == "hidden":
|
||||||
|
|
@ -479,17 +495,33 @@ class StaticGenerator(Generator):
|
||||||
copy(path, source, os.path.join(output_path, destination),
|
copy(path, source, os.path.join(output_path, destination),
|
||||||
final_path, overwrite=True)
|
final_path, overwrite=True)
|
||||||
|
|
||||||
def generate_output(self, writer):
|
def generate_context(self):
|
||||||
|
self.staticfiles = []
|
||||||
|
|
||||||
self._copy_paths(self.settings['STATIC_PATHS'], self.path,
|
# walk static paths
|
||||||
'static', self.output_path)
|
for static_path in self.settings['STATIC_PATHS']:
|
||||||
|
for f in self.get_files(
|
||||||
|
os.path.join(self.path, static_path), extensions=False):
|
||||||
|
f_rel = os.path.relpath(f, self.path)
|
||||||
|
# TODO remove this hardcoded 'static' subdirectory
|
||||||
|
sc = StaticContent(f_rel, os.path.join('static', f_rel),
|
||||||
|
settings=self.settings)
|
||||||
|
self.staticfiles.append(sc)
|
||||||
|
self.context['filenames'][f_rel] = sc
|
||||||
|
# same thing for FILES_TO_COPY
|
||||||
|
for src, dest in self.settings['FILES_TO_COPY']:
|
||||||
|
sc = StaticContent(src, dest, settings=self.settings)
|
||||||
|
self.staticfiles.append(sc)
|
||||||
|
self.context['filenames'][src] = sc
|
||||||
|
|
||||||
|
def generate_output(self, writer):
|
||||||
self._copy_paths(self.settings['THEME_STATIC_PATHS'], self.theme,
|
self._copy_paths(self.settings['THEME_STATIC_PATHS'], self.theme,
|
||||||
'theme', self.output_path, '.')
|
'theme', self.output_path, '.')
|
||||||
|
# copy all StaticContent files
|
||||||
# copy all the files needed
|
for sc in self.staticfiles:
|
||||||
for source, destination in self.settings['FILES_TO_COPY']:
|
mkdir_p(os.path.dirname(sc.save_as))
|
||||||
copy(source, self.path, self.output_path, destination,
|
shutil.copy(sc.filepath, sc.save_as)
|
||||||
overwrite=True)
|
logger.info('copying %s to %s' % (sc.filepath, sc.save_as))
|
||||||
|
|
||||||
|
|
||||||
class PdfGenerator(Generator):
|
class PdfGenerator(Generator):
|
||||||
|
|
@ -532,8 +564,8 @@ class PdfGenerator(Generator):
|
||||||
try:
|
try:
|
||||||
os.mkdir(pdf_path)
|
os.mkdir(pdf_path)
|
||||||
except OSError:
|
except OSError:
|
||||||
logger.error("Couldn't create the pdf output folder in " + pdf_path)
|
logger.error("Couldn't create the pdf output folder in " +
|
||||||
pass
|
pdf_path)
|
||||||
|
|
||||||
for article in self.context['articles']:
|
for article in self.context['articles']:
|
||||||
self._create_pdf(article, pdf_path)
|
self._create_pdf(article, pdf_path)
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,9 @@ import re
|
||||||
import pytz
|
import pytz
|
||||||
import shutil
|
import shutil
|
||||||
import logging
|
import logging
|
||||||
from collections import defaultdict
|
import errno
|
||||||
|
from collections import defaultdict, Hashable
|
||||||
|
from functools import partial
|
||||||
|
|
||||||
from codecs import open
|
from codecs import open
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
@ -19,6 +21,32 @@ class NoFilesError(Exception):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class memoized(object):
|
||||||
|
'''Decorator. Caches a function's return value each time it is called.
|
||||||
|
If called later with the same arguments, the cached value is returned
|
||||||
|
(not reevaluated).
|
||||||
|
'''
|
||||||
|
def __init__(self, func):
|
||||||
|
self.func = func
|
||||||
|
self.cache = {}
|
||||||
|
def __call__(self, *args):
|
||||||
|
if not isinstance(args, Hashable):
|
||||||
|
# uncacheable. a list, for instance.
|
||||||
|
# better to not cache than blow up.
|
||||||
|
return self.func(*args)
|
||||||
|
if args in self.cache:
|
||||||
|
return self.cache[args]
|
||||||
|
else:
|
||||||
|
value = self.func(*args)
|
||||||
|
self.cache[args] = value
|
||||||
|
return value
|
||||||
|
def __repr__(self):
|
||||||
|
'''Return the function's docstring.'''
|
||||||
|
return self.func.__doc__
|
||||||
|
def __get__(self, obj, objtype):
|
||||||
|
'''Support instance methods.'''
|
||||||
|
return partial(self.__call__, obj)
|
||||||
|
|
||||||
def get_date(string):
|
def get_date(string):
|
||||||
"""Return a datetime object from a string.
|
"""Return a datetime object from a string.
|
||||||
|
|
||||||
|
|
@ -300,3 +328,11 @@ def set_date_tzinfo(d, tz_name=None):
|
||||||
return tz.localize(d)
|
return tz.localize(d)
|
||||||
else:
|
else:
|
||||||
return d
|
return d
|
||||||
|
|
||||||
|
|
||||||
|
def mkdir_p(path):
|
||||||
|
try:
|
||||||
|
os.makedirs(path)
|
||||||
|
except OSError, e:
|
||||||
|
if e.errno != errno.EEXIST:
|
||||||
|
raise
|
||||||
|
|
|
||||||
|
|
@ -2,12 +2,10 @@
|
||||||
from __future__ import with_statement
|
from __future__ import with_statement
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import re
|
|
||||||
import locale
|
import locale
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from codecs import open
|
from codecs import open
|
||||||
from functools import partial
|
|
||||||
from feedgenerator import Atom1Feed, Rss201rev2Feed
|
from feedgenerator import Atom1Feed, Rss201rev2Feed
|
||||||
from jinja2 import Markup
|
from jinja2 import Markup
|
||||||
from pelican.paginator import Paginator
|
from pelican.paginator import Paginator
|
||||||
|
|
@ -41,7 +39,7 @@ class Writer(object):
|
||||||
link='%s/%s' % (self.site_url, item.url),
|
link='%s/%s' % (self.site_url, item.url),
|
||||||
unique_id='tag:%s,%s:%s' % (self.site_url.replace('http://', ''),
|
unique_id='tag:%s,%s:%s' % (self.site_url.replace('http://', ''),
|
||||||
item.date.date(), item.url),
|
item.date.date(), item.url),
|
||||||
description=item.content,
|
description=item.get_content(self.site_url),
|
||||||
categories=item.tags if hasattr(item, 'tags') else None,
|
categories=item.tags if hasattr(item, 'tags') else None,
|
||||||
author_name=getattr(item, 'author', ''),
|
author_name=getattr(item, 'author', ''),
|
||||||
pubdate=set_date_tzinfo(item.date,
|
pubdate=set_date_tzinfo(item.date,
|
||||||
|
|
@ -126,11 +124,11 @@ class Writer(object):
|
||||||
|
|
||||||
localcontext = context.copy()
|
localcontext = context.copy()
|
||||||
if relative_urls:
|
if relative_urls:
|
||||||
localcontext['SITEURL'] = get_relative_path(name)
|
relative_path = get_relative_path(name)
|
||||||
|
context['localsiteurl'] = relative_path
|
||||||
|
localcontext['SITEURL'] = relative_path
|
||||||
|
|
||||||
localcontext.update(kwargs)
|
localcontext.update(kwargs)
|
||||||
if relative_urls:
|
|
||||||
self.update_context_contents(name, localcontext)
|
|
||||||
|
|
||||||
# check paginated
|
# check paginated
|
||||||
paginated = paginated or {}
|
paginated = paginated or {}
|
||||||
|
|
@ -168,66 +166,3 @@ class Writer(object):
|
||||||
else:
|
else:
|
||||||
# no pagination
|
# no pagination
|
||||||
_write_file(template, localcontext, self.output_path, name)
|
_write_file(template, localcontext, self.output_path, name)
|
||||||
|
|
||||||
def update_context_contents(self, name, context):
|
|
||||||
"""Recursively run the context to find elements (articles, pages, etc)
|
|
||||||
whose content getter needs to be modified in order to deal with
|
|
||||||
relative paths.
|
|
||||||
|
|
||||||
:param name: name of the file to output.
|
|
||||||
:param context: dict that will be passed to the templates, which need
|
|
||||||
to be updated.
|
|
||||||
"""
|
|
||||||
def _update_content(name, input):
|
|
||||||
"""Change all the relatives paths of the input content to relatives
|
|
||||||
paths suitable fot the ouput content
|
|
||||||
|
|
||||||
:param name: path of the output.
|
|
||||||
:param input: input resource that will be passed to the templates.
|
|
||||||
"""
|
|
||||||
content = input._content
|
|
||||||
|
|
||||||
hrefs = re.compile(r"""
|
|
||||||
(?P<markup><\s*[^\>]* # match tag with src and href attr
|
|
||||||
(?:href|src)\s*=\s*
|
|
||||||
)
|
|
||||||
(?P<quote>["\']) # require value to be quoted
|
|
||||||
(?![#?]) # don't match fragment or query URLs
|
|
||||||
(?![a-z]+:) # don't match protocol URLS
|
|
||||||
(?P<path>.*?) # the url value
|
|
||||||
\2""", re.X)
|
|
||||||
|
|
||||||
def replacer(m):
|
|
||||||
relative_path = m.group('path')
|
|
||||||
dest_path = os.path.normpath(
|
|
||||||
os.sep.join((get_relative_path(name), "static",
|
|
||||||
relative_path)))
|
|
||||||
|
|
||||||
# On Windows, make sure we end up with Unix-like paths.
|
|
||||||
if os.name == 'nt':
|
|
||||||
dest_path = dest_path.replace('\\', '/')
|
|
||||||
|
|
||||||
return m.group('markup') + m.group('quote') + dest_path \
|
|
||||||
+ m.group('quote')
|
|
||||||
|
|
||||||
return hrefs.sub(replacer, content)
|
|
||||||
|
|
||||||
if context is None:
|
|
||||||
return
|
|
||||||
if hasattr(context, 'values'):
|
|
||||||
context = context.values()
|
|
||||||
|
|
||||||
for item in context:
|
|
||||||
# run recursively on iterables
|
|
||||||
if hasattr(item, '__iter__'):
|
|
||||||
self.update_context_contents(name, item)
|
|
||||||
|
|
||||||
# if it is a content, patch it
|
|
||||||
elif hasattr(item, '_content'):
|
|
||||||
relative_path = get_relative_path(name)
|
|
||||||
|
|
||||||
paths = self.reminder.setdefault(item, [])
|
|
||||||
if relative_path not in paths:
|
|
||||||
paths.append(relative_path)
|
|
||||||
setattr(item, "_get_content",
|
|
||||||
partial(_update_content, name, item))
|
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ Why not ?
|
||||||
After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst !
|
After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst !
|
||||||
YEAH !
|
YEAH !
|
||||||
|
|
||||||
.. image:: pictures/Sushi.jpg
|
.. image:: |filename|/pictures/Sushi.jpg
|
||||||
:height: 450 px
|
:height: 450 px
|
||||||
:width: 600 px
|
:width: 600 px
|
||||||
:alt: alternate text
|
:alt: alternate text
|
||||||
|
|
|
||||||
|
|
@ -2,3 +2,6 @@ Title: A markdown powered article
|
||||||
Date: 2011-04-20
|
Date: 2011-04-20
|
||||||
|
|
||||||
You're mutually oblivious.
|
You're mutually oblivious.
|
||||||
|
|
||||||
|
[a root-relative link to unbelievable](|filename|/unbelievable.rst)
|
||||||
|
[a file-relative link to unbelievable](|filename|../unbelievable.rst)
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ This is a test page
|
||||||
|
|
||||||
Just an image.
|
Just an image.
|
||||||
|
|
||||||
.. image:: pictures/Fat_Cat.jpg
|
.. image:: |filename|/pictures/Fat_Cat.jpg
|
||||||
:height: 450 px
|
:height: 450 px
|
||||||
:width: 600 px
|
:width: 600 px
|
||||||
:alt: alternate text
|
:alt: alternate text
|
||||||
|
|
|
||||||
|
|
@ -16,12 +16,12 @@ This is a simple title
|
||||||
|
|
||||||
And here comes the cool stuff_.
|
And here comes the cool stuff_.
|
||||||
|
|
||||||
.. image:: pictures/Sushi.jpg
|
.. image:: |filename|/pictures/Sushi.jpg
|
||||||
:height: 450 px
|
:height: 450 px
|
||||||
:width: 600 px
|
:width: 600 px
|
||||||
:alt: alternate text
|
:alt: alternate text
|
||||||
|
|
||||||
.. image:: pictures/Sushi_Macro.jpg
|
.. image:: |filename|/pictures/Sushi_Macro.jpg
|
||||||
:height: 450 px
|
:height: 450 px
|
||||||
:width: 600 px
|
:width: 600 px
|
||||||
:alt: alternate text
|
:alt: alternate text
|
||||||
|
|
|
||||||
|
|
@ -4,3 +4,6 @@ Unbelievable !
|
||||||
:date: 2010-10-15 20:30
|
:date: 2010-10-15 20:30
|
||||||
|
|
||||||
Or completely awesome. Depends the needs.
|
Or completely awesome. Depends the needs.
|
||||||
|
|
||||||
|
`a root-relative link to markdown-article <|filename|/cat1/markdown-article.md>`_
|
||||||
|
`a file-relative link to markdown-article <|filename|cat1/markdown-article.md>`_
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,8 @@
|
||||||
<p>In <a href="./category/cat1.html">cat1</a>. </p>
|
<p>In <a href="./category/cat1.html">cat1</a>. </p>
|
||||||
|
|
||||||
</footer><!-- /.post-info --> <p>You're mutually oblivious.</p>
|
</footer><!-- /.post-info --> <p>You're mutually oblivious.</p>
|
||||||
|
<p><a href="./unbelievable.html">a root-relative link to unbelievable</a>
|
||||||
|
<a href="./unbelievable.html">a file-relative link to unbelievable</a></p>
|
||||||
</div><!-- /.entry-content -->
|
</div><!-- /.entry-content -->
|
||||||
|
|
||||||
</article>
|
</article>
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@
|
||||||
<h2>Why not ?</h2>
|
<h2>Why not ?</h2>
|
||||||
<p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst !
|
<p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst !
|
||||||
YEAH !</p>
|
YEAH !</p>
|
||||||
<img alt="alternate text" src="../static/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="|filename|/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
</aside><!-- /#featured -->
|
</aside><!-- /#featured -->
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@
|
||||||
<h2>Why not ?</h2>
|
<h2>Why not ?</h2>
|
||||||
<p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst !
|
<p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst !
|
||||||
YEAH !</p>
|
YEAH !</p>
|
||||||
<img alt="alternate text" src="../static/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="|filename|/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
</aside><!-- /#featured -->
|
</aside><!-- /#featured -->
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,9 @@
|
||||||
|
|
||||||
<p>In <a href="../category/cat1.html">cat1</a>. </p>
|
<p>In <a href="../category/cat1.html">cat1</a>. </p>
|
||||||
|
|
||||||
</footer><!-- /.post-info --><p>You're mutually oblivious.</p> </article>
|
</footer><!-- /.post-info --><p>You're mutually oblivious.</p>
|
||||||
|
<p><a href="../unbelievable.html">a root-relative link to unbelievable</a>
|
||||||
|
<a href="../unbelievable.html">a file-relative link to unbelievable</a></p> </article>
|
||||||
</aside><!-- /#featured -->
|
</aside><!-- /#featured -->
|
||||||
<section id="content" class="body">
|
<section id="content" class="body">
|
||||||
<h1>Other articles</h1>
|
<h1>Other articles</h1>
|
||||||
|
|
|
||||||
|
|
@ -69,6 +69,8 @@
|
||||||
<p>In <a href="../category/misc.html">misc</a>. </p>
|
<p>In <a href="../category/misc.html">misc</a>. </p>
|
||||||
|
|
||||||
</footer><!-- /.post-info --> <p>Or completely awesome. Depends the needs.</p>
|
</footer><!-- /.post-info --> <p>Or completely awesome. Depends the needs.</p>
|
||||||
|
<p><a class="reference external" href="../a-markdown-powered-article.html">a root-relative link to markdown-article</a>
|
||||||
|
<a class="reference external" href="../a-markdown-powered-article.html">a file-relative link to markdown-article</a></p>
|
||||||
|
|
||||||
<a class="readmore" href="../unbelievable.html">read more</a>
|
<a class="readmore" href="../unbelievable.html">read more</a>
|
||||||
</div><!-- /.entry-content -->
|
</div><!-- /.entry-content -->
|
||||||
|
|
|
||||||
|
|
@ -49,8 +49,8 @@
|
||||||
<div class="section" id="this-is-a-simple-title">
|
<div class="section" id="this-is-a-simple-title">
|
||||||
<h2>This is a simple title</h2>
|
<h2>This is a simple title</h2>
|
||||||
<p>And here comes the cool <a class="reference external" href="http://books.couchdb.org/relax/design-documents/views">stuff</a>.</p>
|
<p>And here comes the cool <a class="reference external" href="http://books.couchdb.org/relax/design-documents/views">stuff</a>.</p>
|
||||||
<img alt="alternate text" src="../static/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="|filename|/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
||||||
<img alt="alternate text" src="../static/pictures/Sushi_Macro.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="|filename|/pictures/Sushi_Macro.jpg" style="width: 600px; height: 450px;" />
|
||||||
<pre class="literal-block">
|
<pre class="literal-block">
|
||||||
>>> from ipdb import set_trace
|
>>> from ipdb import set_trace
|
||||||
>>> set_trace()
|
>>> set_trace()
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,16 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<feed xmlns="http://www.w3.org/2005/Atom"><title>A Pelican Blog</title><link href="/" rel="alternate"></link><link href="/feeds/all-en.atom.xml" rel="self"></link><id>/</id><updated>2012-02-29T00:00:00Z</updated><entry><title>Second article</title><link href="/second-article.html" rel="alternate"></link><updated>2012-02-29T00:00:00Z</updated><author><name></name></author><id>tag:,2012-02-29:second-article.html</id><summary type="html"><p>This is some article, in english</p>
|
<feed xmlns="http://www.w3.org/2005/Atom"><title>A Pelican Blog</title><link href="/" rel="alternate"></link><link href="/feeds/all-en.atom.xml" rel="self"></link><id>/</id><updated>2012-02-29T00:00:00Z</updated><entry><title>Second article</title><link href="/second-article.html" rel="alternate"></link><updated>2012-02-29T00:00:00Z</updated><author><name></name></author><id>tag:,2012-02-29:second-article.html</id><summary type="html"><p>This is some article, in english</p>
|
||||||
</summary><category term="foo"></category><category term="bar"></category><category term="baz"></category></entry><entry><title>A markdown powered article</title><link href="/a-markdown-powered-article.html" rel="alternate"></link><updated>2011-04-20T00:00:00Z</updated><author><name></name></author><id>tag:,2011-04-20:a-markdown-powered-article.html</id><summary type="html"><p>You're mutually oblivious.</p></summary></entry><entry><title>Article 1</title><link href="/article-1.html" rel="alternate"></link><updated>2011-02-17T00:00:00Z</updated><author><name></name></author><id>tag:,2011-02-17:article-1.html</id><summary type="html"><p>Article 1</p>
|
</summary><category term="foo"></category><category term="bar"></category><category term="baz"></category></entry><entry><title>A markdown powered article</title><link href="/a-markdown-powered-article.html" rel="alternate"></link><updated>2011-04-20T00:00:00Z</updated><author><name></name></author><id>tag:,2011-04-20:a-markdown-powered-article.html</id><summary type="html"><p>You're mutually oblivious.</p>
|
||||||
|
<p><a href="/unbelievable.html">a root-relative link to unbelievable</a>
|
||||||
|
<a href="/unbelievable.html">a file-relative link to unbelievable</a></p></summary></entry><entry><title>Article 1</title><link href="/article-1.html" rel="alternate"></link><updated>2011-02-17T00:00:00Z</updated><author><name></name></author><id>tag:,2011-02-17:article-1.html</id><summary type="html"><p>Article 1</p>
|
||||||
</summary></entry><entry><title>Article 2</title><link href="/article-2.html" rel="alternate"></link><updated>2011-02-17T00:00:00Z</updated><author><name></name></author><id>tag:,2011-02-17:article-2.html</id><summary type="html"><p>Article 2</p>
|
</summary></entry><entry><title>Article 2</title><link href="/article-2.html" rel="alternate"></link><updated>2011-02-17T00:00:00Z</updated><author><name></name></author><id>tag:,2011-02-17:article-2.html</id><summary type="html"><p>Article 2</p>
|
||||||
</summary></entry><entry><title>Article 3</title><link href="/article-3.html" rel="alternate"></link><updated>2011-02-17T00:00:00Z</updated><author><name></name></author><id>tag:,2011-02-17:article-3.html</id><summary type="html"><p>Article 3</p>
|
</summary></entry><entry><title>Article 3</title><link href="/article-3.html" rel="alternate"></link><updated>2011-02-17T00:00:00Z</updated><author><name></name></author><id>tag:,2011-02-17:article-3.html</id><summary type="html"><p>Article 3</p>
|
||||||
</summary></entry><entry><title>This is a super article !</title><link href="/this-is-a-super-article.html" rel="alternate"></link><updated>2010-12-02T10:14:00Z</updated><author><name>Alexis Métaireau</name></author><id>tag:,2010-12-02:this-is-a-super-article.html</id><summary type="html"><p>Some content here !</p>
|
</summary></entry><entry><title>This is a super article !</title><link href="/this-is-a-super-article.html" rel="alternate"></link><updated>2010-12-02T10:14:00Z</updated><author><name>Alexis Métaireau</name></author><id>tag:,2010-12-02:this-is-a-super-article.html</id><summary type="html"><p>Some content here !</p>
|
||||||
<div class="section" id="this-is-a-simple-title">
|
<div class="section" id="this-is-a-simple-title">
|
||||||
<h2>This is a simple title</h2>
|
<h2>This is a simple title</h2>
|
||||||
<p>And here comes the cool <a class="reference external" href="http://books.couchdb.org/relax/design-documents/views">stuff</a>.</p>
|
<p>And here comes the cool <a class="reference external" href="http://books.couchdb.org/relax/design-documents/views">stuff</a>.</p>
|
||||||
<img alt="alternate text" src="pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="|filename|/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
||||||
<img alt="alternate text" src="pictures/Sushi_Macro.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="|filename|/pictures/Sushi_Macro.jpg" style="width: 600px; height: 450px;" />
|
||||||
<pre class="literal-block">
|
<pre class="literal-block">
|
||||||
&gt;&gt;&gt; from ipdb import set_trace
|
&gt;&gt;&gt; from ipdb import set_trace
|
||||||
&gt;&gt;&gt; set_trace()
|
&gt;&gt;&gt; set_trace()
|
||||||
|
|
@ -19,7 +21,9 @@
|
||||||
<h2>Why not ?</h2>
|
<h2>Why not ?</h2>
|
||||||
<p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst !
|
<p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst !
|
||||||
YEAH !</p>
|
YEAH !</p>
|
||||||
<img alt="alternate text" src="pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="|filename|/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
||||||
</div>
|
</div>
|
||||||
</summary><category term="oh"></category><category term="bar"></category><category term="yeah"></category></entry><entry><title>Unbelievable !</title><link href="/unbelievable.html" rel="alternate"></link><updated>2010-10-15T20:30:00Z</updated><author><name></name></author><id>tag:,2010-10-15:unbelievable.html</id><summary type="html"><p>Or completely awesome. Depends the needs.</p>
|
</summary><category term="oh"></category><category term="bar"></category><category term="yeah"></category></entry><entry><title>Unbelievable !</title><link href="/unbelievable.html" rel="alternate"></link><updated>2010-10-15T20:30:00Z</updated><author><name></name></author><id>tag:,2010-10-15:unbelievable.html</id><summary type="html"><p>Or completely awesome. Depends the needs.</p>
|
||||||
|
<p><a class="reference external" href="/a-markdown-powered-article.html">a root-relative link to markdown-article</a>
|
||||||
|
<a class="reference external" href="/a-markdown-powered-article.html">a file-relative link to markdown-article</a></p>
|
||||||
</summary></entry></feed>
|
</summary></entry></feed>
|
||||||
|
|
@ -1,15 +1,17 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<feed xmlns="http://www.w3.org/2005/Atom"><title>A Pelican Blog</title><link href="/" rel="alternate"></link><link href="/feeds/all.atom.xml" rel="self"></link><id>/</id><updated>2012-02-29T00:00:00Z</updated><entry><title>Second article</title><link href="/second-article.html" rel="alternate"></link><updated>2012-02-29T00:00:00Z</updated><author><name></name></author><id>tag:,2012-02-29:second-article.html</id><summary type="html"><p>This is some article, in english</p>
|
<feed xmlns="http://www.w3.org/2005/Atom"><title>A Pelican Blog</title><link href="/" rel="alternate"></link><link href="/feeds/all.atom.xml" rel="self"></link><id>/</id><updated>2012-02-29T00:00:00Z</updated><entry><title>Second article</title><link href="/second-article.html" rel="alternate"></link><updated>2012-02-29T00:00:00Z</updated><author><name></name></author><id>tag:,2012-02-29:second-article.html</id><summary type="html"><p>This is some article, in english</p>
|
||||||
</summary><category term="foo"></category><category term="bar"></category><category term="baz"></category></entry><entry><title>Deuxième article</title><link href="/second-article-fr.html" rel="alternate"></link><updated>2012-02-29T00:00:00Z</updated><author><name></name></author><id>tag:,2012-02-29:second-article-fr.html</id><summary type="html"><p>Ceci est un article, en français.</p>
|
</summary><category term="foo"></category><category term="bar"></category><category term="baz"></category></entry><entry><title>Deuxième article</title><link href="/second-article-fr.html" rel="alternate"></link><updated>2012-02-29T00:00:00Z</updated><author><name></name></author><id>tag:,2012-02-29:second-article-fr.html</id><summary type="html"><p>Ceci est un article, en français.</p>
|
||||||
</summary><category term="foo"></category><category term="bar"></category><category term="baz"></category></entry><entry><title>A markdown powered article</title><link href="/a-markdown-powered-article.html" rel="alternate"></link><updated>2011-04-20T00:00:00Z</updated><author><name></name></author><id>tag:,2011-04-20:a-markdown-powered-article.html</id><summary type="html"><p>You're mutually oblivious.</p></summary></entry><entry><title>Article 1</title><link href="/article-1.html" rel="alternate"></link><updated>2011-02-17T00:00:00Z</updated><author><name></name></author><id>tag:,2011-02-17:article-1.html</id><summary type="html"><p>Article 1</p>
|
</summary><category term="foo"></category><category term="bar"></category><category term="baz"></category></entry><entry><title>A markdown powered article</title><link href="/a-markdown-powered-article.html" rel="alternate"></link><updated>2011-04-20T00:00:00Z</updated><author><name></name></author><id>tag:,2011-04-20:a-markdown-powered-article.html</id><summary type="html"><p>You're mutually oblivious.</p>
|
||||||
|
<p><a href="/unbelievable.html">a root-relative link to unbelievable</a>
|
||||||
|
<a href="/unbelievable.html">a file-relative link to unbelievable</a></p></summary></entry><entry><title>Article 1</title><link href="/article-1.html" rel="alternate"></link><updated>2011-02-17T00:00:00Z</updated><author><name></name></author><id>tag:,2011-02-17:article-1.html</id><summary type="html"><p>Article 1</p>
|
||||||
</summary></entry><entry><title>Article 2</title><link href="/article-2.html" rel="alternate"></link><updated>2011-02-17T00:00:00Z</updated><author><name></name></author><id>tag:,2011-02-17:article-2.html</id><summary type="html"><p>Article 2</p>
|
</summary></entry><entry><title>Article 2</title><link href="/article-2.html" rel="alternate"></link><updated>2011-02-17T00:00:00Z</updated><author><name></name></author><id>tag:,2011-02-17:article-2.html</id><summary type="html"><p>Article 2</p>
|
||||||
</summary></entry><entry><title>Article 3</title><link href="/article-3.html" rel="alternate"></link><updated>2011-02-17T00:00:00Z</updated><author><name></name></author><id>tag:,2011-02-17:article-3.html</id><summary type="html"><p>Article 3</p>
|
</summary></entry><entry><title>Article 3</title><link href="/article-3.html" rel="alternate"></link><updated>2011-02-17T00:00:00Z</updated><author><name></name></author><id>tag:,2011-02-17:article-3.html</id><summary type="html"><p>Article 3</p>
|
||||||
</summary></entry><entry><title>This is a super article !</title><link href="/this-is-a-super-article.html" rel="alternate"></link><updated>2010-12-02T10:14:00Z</updated><author><name>Alexis Métaireau</name></author><id>tag:,2010-12-02:this-is-a-super-article.html</id><summary type="html"><p>Some content here !</p>
|
</summary></entry><entry><title>This is a super article !</title><link href="/this-is-a-super-article.html" rel="alternate"></link><updated>2010-12-02T10:14:00Z</updated><author><name>Alexis Métaireau</name></author><id>tag:,2010-12-02:this-is-a-super-article.html</id><summary type="html"><p>Some content here !</p>
|
||||||
<div class="section" id="this-is-a-simple-title">
|
<div class="section" id="this-is-a-simple-title">
|
||||||
<h2>This is a simple title</h2>
|
<h2>This is a simple title</h2>
|
||||||
<p>And here comes the cool <a class="reference external" href="http://books.couchdb.org/relax/design-documents/views">stuff</a>.</p>
|
<p>And here comes the cool <a class="reference external" href="http://books.couchdb.org/relax/design-documents/views">stuff</a>.</p>
|
||||||
<img alt="alternate text" src="pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="|filename|/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
||||||
<img alt="alternate text" src="pictures/Sushi_Macro.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="|filename|/pictures/Sushi_Macro.jpg" style="width: 600px; height: 450px;" />
|
||||||
<pre class="literal-block">
|
<pre class="literal-block">
|
||||||
&gt;&gt;&gt; from ipdb import set_trace
|
&gt;&gt;&gt; from ipdb import set_trace
|
||||||
&gt;&gt;&gt; set_trace()
|
&gt;&gt;&gt; set_trace()
|
||||||
|
|
@ -20,7 +22,9 @@
|
||||||
<h2>Why not ?</h2>
|
<h2>Why not ?</h2>
|
||||||
<p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst !
|
<p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst !
|
||||||
YEAH !</p>
|
YEAH !</p>
|
||||||
<img alt="alternate text" src="pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="|filename|/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
||||||
</div>
|
</div>
|
||||||
</summary><category term="oh"></category><category term="bar"></category><category term="yeah"></category></entry><entry><title>Unbelievable !</title><link href="/unbelievable.html" rel="alternate"></link><updated>2010-10-15T20:30:00Z</updated><author><name></name></author><id>tag:,2010-10-15:unbelievable.html</id><summary type="html"><p>Or completely awesome. Depends the needs.</p>
|
</summary><category term="oh"></category><category term="bar"></category><category term="yeah"></category></entry><entry><title>Unbelievable !</title><link href="/unbelievable.html" rel="alternate"></link><updated>2010-10-15T20:30:00Z</updated><author><name></name></author><id>tag:,2010-10-15:unbelievable.html</id><summary type="html"><p>Or completely awesome. Depends the needs.</p>
|
||||||
|
<p><a class="reference external" href="/a-markdown-powered-article.html">a root-relative link to markdown-article</a>
|
||||||
|
<a class="reference external" href="/a-markdown-powered-article.html">a file-relative link to markdown-article</a></p>
|
||||||
</summary></entry></feed>
|
</summary></entry></feed>
|
||||||
|
|
@ -3,6 +3,6 @@
|
||||||
<h2>Why not ?</h2>
|
<h2>Why not ?</h2>
|
||||||
<p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst !
|
<p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst !
|
||||||
YEAH !</p>
|
YEAH !</p>
|
||||||
<img alt="alternate text" src="pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="|filename|/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
||||||
</div>
|
</div>
|
||||||
</summary><category term="oh"></category><category term="bar"></category><category term="yeah"></category></entry></feed>
|
</summary><category term="oh"></category><category term="bar"></category><category term="yeah"></category></entry></feed>
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<feed xmlns="http://www.w3.org/2005/Atom"><title>A Pelican Blog</title><link href="/" rel="alternate"></link><link href="/feeds/cat1.atom.xml" rel="self"></link><id>/</id><updated>2011-04-20T00:00:00Z</updated><entry><title>A markdown powered article</title><link href="/a-markdown-powered-article.html" rel="alternate"></link><updated>2011-04-20T00:00:00Z</updated><author><name></name></author><id>tag:,2011-04-20:a-markdown-powered-article.html</id><summary type="html"><p>You're mutually oblivious.</p></summary></entry><entry><title>Article 1</title><link href="/article-1.html" rel="alternate"></link><updated>2011-02-17T00:00:00Z</updated><author><name></name></author><id>tag:,2011-02-17:article-1.html</id><summary type="html"><p>Article 1</p>
|
<feed xmlns="http://www.w3.org/2005/Atom"><title>A Pelican Blog</title><link href="/" rel="alternate"></link><link href="/feeds/cat1.atom.xml" rel="self"></link><id>/</id><updated>2011-04-20T00:00:00Z</updated><entry><title>A markdown powered article</title><link href="/a-markdown-powered-article.html" rel="alternate"></link><updated>2011-04-20T00:00:00Z</updated><author><name></name></author><id>tag:,2011-04-20:a-markdown-powered-article.html</id><summary type="html"><p>You're mutually oblivious.</p>
|
||||||
|
<p><a href="/unbelievable.html">a root-relative link to unbelievable</a>
|
||||||
|
<a href="/unbelievable.html">a file-relative link to unbelievable</a></p></summary></entry><entry><title>Article 1</title><link href="/article-1.html" rel="alternate"></link><updated>2011-02-17T00:00:00Z</updated><author><name></name></author><id>tag:,2011-02-17:article-1.html</id><summary type="html"><p>Article 1</p>
|
||||||
</summary></entry><entry><title>Article 2</title><link href="/article-2.html" rel="alternate"></link><updated>2011-02-17T00:00:00Z</updated><author><name></name></author><id>tag:,2011-02-17:article-2.html</id><summary type="html"><p>Article 2</p>
|
</summary></entry><entry><title>Article 2</title><link href="/article-2.html" rel="alternate"></link><updated>2011-02-17T00:00:00Z</updated><author><name></name></author><id>tag:,2011-02-17:article-2.html</id><summary type="html"><p>Article 2</p>
|
||||||
</summary></entry><entry><title>Article 3</title><link href="/article-3.html" rel="alternate"></link><updated>2011-02-17T00:00:00Z</updated><author><name></name></author><id>tag:,2011-02-17:article-3.html</id><summary type="html"><p>Article 3</p>
|
</summary></entry><entry><title>Article 3</title><link href="/article-3.html" rel="alternate"></link><updated>2011-02-17T00:00:00Z</updated><author><name></name></author><id>tag:,2011-02-17:article-3.html</id><summary type="html"><p>Article 3</p>
|
||||||
</summary></entry></feed>
|
</summary></entry></feed>
|
||||||
|
|
@ -1,4 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<feed xmlns="http://www.w3.org/2005/Atom"><title>A Pelican Blog</title><link href="/" rel="alternate"></link><link href="/feeds/misc.atom.xml" rel="self"></link><id>/</id><updated>2012-02-29T00:00:00Z</updated><entry><title>Second article</title><link href="/second-article.html" rel="alternate"></link><updated>2012-02-29T00:00:00Z</updated><author><name></name></author><id>tag:,2012-02-29:second-article.html</id><summary type="html"><p>This is some article, in english</p>
|
<feed xmlns="http://www.w3.org/2005/Atom"><title>A Pelican Blog</title><link href="/" rel="alternate"></link><link href="/feeds/misc.atom.xml" rel="self"></link><id>/</id><updated>2012-02-29T00:00:00Z</updated><entry><title>Second article</title><link href="/second-article.html" rel="alternate"></link><updated>2012-02-29T00:00:00Z</updated><author><name></name></author><id>tag:,2012-02-29:second-article.html</id><summary type="html"><p>This is some article, in english</p>
|
||||||
</summary><category term="foo"></category><category term="bar"></category><category term="baz"></category></entry><entry><title>Unbelievable !</title><link href="/unbelievable.html" rel="alternate"></link><updated>2010-10-15T20:30:00Z</updated><author><name></name></author><id>tag:,2010-10-15:unbelievable.html</id><summary type="html"><p>Or completely awesome. Depends the needs.</p>
|
</summary><category term="foo"></category><category term="bar"></category><category term="baz"></category></entry><entry><title>Unbelievable !</title><link href="/unbelievable.html" rel="alternate"></link><updated>2010-10-15T20:30:00Z</updated><author><name></name></author><id>tag:,2010-10-15:unbelievable.html</id><summary type="html"><p>Or completely awesome. Depends the needs.</p>
|
||||||
|
<p><a class="reference external" href="/a-markdown-powered-article.html">a root-relative link to markdown-article</a>
|
||||||
|
<a class="reference external" href="/a-markdown-powered-article.html">a file-relative link to markdown-article</a></p>
|
||||||
</summary></entry></feed>
|
</summary></entry></feed>
|
||||||
|
|
@ -3,8 +3,8 @@
|
||||||
<div class="section" id="this-is-a-simple-title">
|
<div class="section" id="this-is-a-simple-title">
|
||||||
<h2>This is a simple title</h2>
|
<h2>This is a simple title</h2>
|
||||||
<p>And here comes the cool <a class="reference external" href="http://books.couchdb.org/relax/design-documents/views">stuff</a>.</p>
|
<p>And here comes the cool <a class="reference external" href="http://books.couchdb.org/relax/design-documents/views">stuff</a>.</p>
|
||||||
<img alt="alternate text" src="pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="|filename|/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
||||||
<img alt="alternate text" src="pictures/Sushi_Macro.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="|filename|/pictures/Sushi_Macro.jpg" style="width: 600px; height: 450px;" />
|
||||||
<pre class="literal-block">
|
<pre class="literal-block">
|
||||||
&gt;&gt;&gt; from ipdb import set_trace
|
&gt;&gt;&gt; from ipdb import set_trace
|
||||||
&gt;&gt;&gt; set_trace()
|
&gt;&gt;&gt; set_trace()
|
||||||
|
|
|
||||||
|
|
@ -69,6 +69,8 @@
|
||||||
<p>In <a href="./category/cat1.html">cat1</a>. </p>
|
<p>In <a href="./category/cat1.html">cat1</a>. </p>
|
||||||
|
|
||||||
</footer><!-- /.post-info --> <p>You're mutually oblivious.</p>
|
</footer><!-- /.post-info --> <p>You're mutually oblivious.</p>
|
||||||
|
<p><a href="./unbelievable.html">a root-relative link to unbelievable</a>
|
||||||
|
<a href="./unbelievable.html">a file-relative link to unbelievable</a></p>
|
||||||
<a class="readmore" href="./a-markdown-powered-article.html">read more</a>
|
<a class="readmore" href="./a-markdown-powered-article.html">read more</a>
|
||||||
</div><!-- /.entry-content -->
|
</div><!-- /.entry-content -->
|
||||||
</article></li>
|
</article></li>
|
||||||
|
|
@ -188,7 +190,7 @@ as well as <strong>inline markup</strong>.</p>
|
||||||
<h2>Why not ?</h2>
|
<h2>Why not ?</h2>
|
||||||
<p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst !
|
<p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst !
|
||||||
YEAH !</p>
|
YEAH !</p>
|
||||||
<img alt="alternate text" src="static/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="|filename|/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<a class="readmore" href="./oh-yeah.html">read more</a>
|
<a class="readmore" href="./oh-yeah.html">read more</a>
|
||||||
|
|
@ -212,6 +214,8 @@ YEAH !</p>
|
||||||
<p>In <a href="./category/misc.html">misc</a>. </p>
|
<p>In <a href="./category/misc.html">misc</a>. </p>
|
||||||
|
|
||||||
</footer><!-- /.post-info --> <p>Or completely awesome. Depends the needs.</p>
|
</footer><!-- /.post-info --> <p>Or completely awesome. Depends the needs.</p>
|
||||||
|
<p><a class="reference external" href="./a-markdown-powered-article.html">a root-relative link to markdown-article</a>
|
||||||
|
<a class="reference external" href="./a-markdown-powered-article.html">a file-relative link to markdown-article</a></p>
|
||||||
|
|
||||||
<a class="readmore" href="./unbelievable.html">read more</a>
|
<a class="readmore" href="./unbelievable.html">read more</a>
|
||||||
</div><!-- /.entry-content -->
|
</div><!-- /.entry-content -->
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,7 @@
|
||||||
<h2>Why not ?</h2>
|
<h2>Why not ?</h2>
|
||||||
<p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst !
|
<p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst !
|
||||||
YEAH !</p>
|
YEAH !</p>
|
||||||
<img alt="alternate text" src="static/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="|filename|/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div><!-- /.entry-content -->
|
</div><!-- /.entry-content -->
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@
|
||||||
<h1 class="entry-title">This is a test page</h1>
|
<h1 class="entry-title">This is a test page</h1>
|
||||||
|
|
||||||
<p>Just an image.</p>
|
<p>Just an image.</p>
|
||||||
<img alt="alternate text" src="../static/pictures/Fat_Cat.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="|filename|/pictures/Fat_Cat.jpg" style="width: 600px; height: 450px;" />
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
<section id="extras" class="body">
|
<section id="extras" class="body">
|
||||||
|
|
|
||||||
|
|
@ -125,7 +125,7 @@ as well as <strong>inline markup</strong>.</p>
|
||||||
<h2>Why not ?</h2>
|
<h2>Why not ?</h2>
|
||||||
<p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst !
|
<p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst !
|
||||||
YEAH !</p>
|
YEAH !</p>
|
||||||
<img alt="alternate text" src="../static/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="|filename|/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<a class="readmore" href="../oh-yeah.html">read more</a>
|
<a class="readmore" href="../oh-yeah.html">read more</a>
|
||||||
|
|
|
||||||
|
|
@ -49,8 +49,8 @@
|
||||||
<div class="section" id="this-is-a-simple-title">
|
<div class="section" id="this-is-a-simple-title">
|
||||||
<h2>This is a simple title</h2>
|
<h2>This is a simple title</h2>
|
||||||
<p>And here comes the cool <a class="reference external" href="http://books.couchdb.org/relax/design-documents/views">stuff</a>.</p>
|
<p>And here comes the cool <a class="reference external" href="http://books.couchdb.org/relax/design-documents/views">stuff</a>.</p>
|
||||||
<img alt="alternate text" src="../static/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="|filename|/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
||||||
<img alt="alternate text" src="../static/pictures/Sushi_Macro.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="|filename|/pictures/Sushi_Macro.jpg" style="width: 600px; height: 450px;" />
|
||||||
<pre class="literal-block">
|
<pre class="literal-block">
|
||||||
>>> from ipdb import set_trace
|
>>> from ipdb import set_trace
|
||||||
>>> set_trace()
|
>>> set_trace()
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@
|
||||||
<h2>Why not ?</h2>
|
<h2>Why not ?</h2>
|
||||||
<p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst !
|
<p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst !
|
||||||
YEAH !</p>
|
YEAH !</p>
|
||||||
<img alt="alternate text" src="../static/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="|filename|/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
</aside><!-- /#featured -->
|
</aside><!-- /#featured -->
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@
|
||||||
<h2>Why not ?</h2>
|
<h2>Why not ?</h2>
|
||||||
<p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst !
|
<p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst !
|
||||||
YEAH !</p>
|
YEAH !</p>
|
||||||
<img alt="alternate text" src="../static/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="|filename|/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
</aside><!-- /#featured -->
|
</aside><!-- /#featured -->
|
||||||
|
|
|
||||||
|
|
@ -52,8 +52,8 @@
|
||||||
<div class="section" id="this-is-a-simple-title">
|
<div class="section" id="this-is-a-simple-title">
|
||||||
<h2>This is a simple title</h2>
|
<h2>This is a simple title</h2>
|
||||||
<p>And here comes the cool <a class="reference external" href="http://books.couchdb.org/relax/design-documents/views">stuff</a>.</p>
|
<p>And here comes the cool <a class="reference external" href="http://books.couchdb.org/relax/design-documents/views">stuff</a>.</p>
|
||||||
<img alt="alternate text" src="static/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="|filename|/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
||||||
<img alt="alternate text" src="static/pictures/Sushi_Macro.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="|filename|/pictures/Sushi_Macro.jpg" style="width: 600px; height: 450px;" />
|
||||||
<pre class="literal-block">
|
<pre class="literal-block">
|
||||||
>>> from ipdb import set_trace
|
>>> from ipdb import set_trace
|
||||||
>>> set_trace()
|
>>> set_trace()
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,8 @@
|
||||||
<p>In <a href="./category/misc.html">misc</a>. </p>
|
<p>In <a href="./category/misc.html">misc</a>. </p>
|
||||||
|
|
||||||
</footer><!-- /.post-info --> <p>Or completely awesome. Depends the needs.</p>
|
</footer><!-- /.post-info --> <p>Or completely awesome. Depends the needs.</p>
|
||||||
|
<p><a class="reference external" href="./a-markdown-powered-article.html">a root-relative link to markdown-article</a>
|
||||||
|
<a class="reference external" href="./a-markdown-powered-article.html">a file-relative link to markdown-article</a></p>
|
||||||
|
|
||||||
</div><!-- /.entry-content -->
|
</div><!-- /.entry-content -->
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -53,6 +53,8 @@
|
||||||
<p>In <a href="./category/cat1.html">cat1</a>. </p>
|
<p>In <a href="./category/cat1.html">cat1</a>. </p>
|
||||||
|
|
||||||
</footer><!-- /.post-info --> <p>You're mutually oblivious.</p>
|
</footer><!-- /.post-info --> <p>You're mutually oblivious.</p>
|
||||||
|
<p><a href="./unbelievable.html">a root-relative link to unbelievable</a>
|
||||||
|
<a href="./unbelievable.html">a file-relative link to unbelievable</a></p>
|
||||||
</div><!-- /.entry-content -->
|
</div><!-- /.entry-content -->
|
||||||
<div class="comments">
|
<div class="comments">
|
||||||
<h2>Comments !</h2>
|
<h2>Comments !</h2>
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,9 @@
|
||||||
</address>
|
</address>
|
||||||
<p>In <a href="../category/cat1.html">cat1</a>. </p>
|
<p>In <a href="../category/cat1.html">cat1</a>. </p>
|
||||||
|
|
||||||
</footer><!-- /.post-info --><p>You're mutually oblivious.</p><p>There are <a href="../a-markdown-powered-article.html#disqus_thread">comments</a>.</p> </article>
|
</footer><!-- /.post-info --><p>You're mutually oblivious.</p>
|
||||||
|
<p><a href="../unbelievable.html">a root-relative link to unbelievable</a>
|
||||||
|
<a href="../unbelievable.html">a file-relative link to unbelievable</a></p><p>There are <a href="../a-markdown-powered-article.html#disqus_thread">comments</a>.</p> </article>
|
||||||
</aside><!-- /#featured -->
|
</aside><!-- /#featured -->
|
||||||
<section id="content" class="body">
|
<section id="content" class="body">
|
||||||
<h1>Other articles</h1>
|
<h1>Other articles</h1>
|
||||||
|
|
|
||||||
|
|
@ -142,6 +142,8 @@ as well as <strong>inline markup</strong>.</p>
|
||||||
<p>In <a href="../category/misc.html">misc</a>. </p>
|
<p>In <a href="../category/misc.html">misc</a>. </p>
|
||||||
|
|
||||||
</footer><!-- /.post-info --> <p>Or completely awesome. Depends the needs.</p>
|
</footer><!-- /.post-info --> <p>Or completely awesome. Depends the needs.</p>
|
||||||
|
<p><a class="reference external" href="../a-markdown-powered-article.html">a root-relative link to markdown-article</a>
|
||||||
|
<a class="reference external" href="../a-markdown-powered-article.html">a file-relative link to markdown-article</a></p>
|
||||||
|
|
||||||
<a class="readmore" href="../unbelievable.html">read more</a>
|
<a class="readmore" href="../unbelievable.html">read more</a>
|
||||||
<p>There are <a href="../unbelievable.html#disqus_thread">comments</a>.</p> </div><!-- /.entry-content -->
|
<p>There are <a href="../unbelievable.html#disqus_thread">comments</a>.</p> </div><!-- /.entry-content -->
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,9 @@
|
||||||
</address>
|
</address>
|
||||||
<p>In <a href="../category/cat1.html">cat1</a>. </p>
|
<p>In <a href="../category/cat1.html">cat1</a>. </p>
|
||||||
|
|
||||||
</footer><!-- /.post-info --><p>You're mutually oblivious.</p><p>There are <a href="../a-markdown-powered-article.html#disqus_thread">comments</a>.</p> </article>
|
</footer><!-- /.post-info --><p>You're mutually oblivious.</p>
|
||||||
|
<p><a href="../unbelievable.html">a root-relative link to unbelievable</a>
|
||||||
|
<a href="../unbelievable.html">a file-relative link to unbelievable</a></p><p>There are <a href="../a-markdown-powered-article.html#disqus_thread">comments</a>.</p> </article>
|
||||||
</aside><!-- /#featured -->
|
</aside><!-- /#featured -->
|
||||||
<section id="content" class="body">
|
<section id="content" class="body">
|
||||||
<h1>Other articles</h1>
|
<h1>Other articles</h1>
|
||||||
|
|
|
||||||
|
|
@ -79,6 +79,8 @@
|
||||||
<p>In <a href="../category/misc.html">misc</a>. </p>
|
<p>In <a href="../category/misc.html">misc</a>. </p>
|
||||||
|
|
||||||
</footer><!-- /.post-info --> <p>Or completely awesome. Depends the needs.</p>
|
</footer><!-- /.post-info --> <p>Or completely awesome. Depends the needs.</p>
|
||||||
|
<p><a class="reference external" href="../a-markdown-powered-article.html">a root-relative link to markdown-article</a>
|
||||||
|
<a class="reference external" href="../a-markdown-powered-article.html">a file-relative link to markdown-article</a></p>
|
||||||
|
|
||||||
<a class="readmore" href="../unbelievable.html">read more</a>
|
<a class="readmore" href="../unbelievable.html">read more</a>
|
||||||
<p>There are <a href="../unbelievable.html#disqus_thread">comments</a>.</p> </div><!-- /.entry-content -->
|
<p>There are <a href="../unbelievable.html#disqus_thread">comments</a>.</p> </div><!-- /.entry-content -->
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,16 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<feed xmlns="http://www.w3.org/2005/Atom"><title>Alexis' log</title><link href="http://blog.notmyidea.org/" rel="alternate"></link><link href="http://blog.notmyidea.org/feeds/all-en.atom.xml" rel="self"></link><id>http://blog.notmyidea.org/</id><updated>2012-02-29T00:00:00+01:00</updated><entry><title>Second article</title><link href="http://blog.notmyidea.org/second-article.html" rel="alternate"></link><updated>2012-02-29T00:00:00+01:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2012-02-29:second-article.html</id><summary type="html"><p>This is some article, in english</p>
|
<feed xmlns="http://www.w3.org/2005/Atom"><title>Alexis' log</title><link href="http://blog.notmyidea.org/" rel="alternate"></link><link href="http://blog.notmyidea.org/feeds/all-en.atom.xml" rel="self"></link><id>http://blog.notmyidea.org/</id><updated>2012-02-29T00:00:00+01:00</updated><entry><title>Second article</title><link href="http://blog.notmyidea.org/second-article.html" rel="alternate"></link><updated>2012-02-29T00:00:00+01:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2012-02-29:second-article.html</id><summary type="html"><p>This is some article, in english</p>
|
||||||
</summary><category term="foo"></category><category term="bar"></category><category term="baz"></category></entry><entry><title>A markdown powered article</title><link href="http://blog.notmyidea.org/a-markdown-powered-article.html" rel="alternate"></link><updated>2011-04-20T00:00:00+02:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2011-04-20:a-markdown-powered-article.html</id><summary type="html"><p>You're mutually oblivious.</p></summary></entry><entry><title>Article 1</title><link href="http://blog.notmyidea.org/article-1.html" rel="alternate"></link><updated>2011-02-17T00:00:00+01:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2011-02-17:article-1.html</id><summary type="html"><p>Article 1</p>
|
</summary><category term="foo"></category><category term="bar"></category><category term="baz"></category></entry><entry><title>A markdown powered article</title><link href="http://blog.notmyidea.org/a-markdown-powered-article.html" rel="alternate"></link><updated>2011-04-20T00:00:00+02:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2011-04-20:a-markdown-powered-article.html</id><summary type="html"><p>You're mutually oblivious.</p>
|
||||||
|
<p><a href="http://blog.notmyidea.org/unbelievable.html">a root-relative link to unbelievable</a>
|
||||||
|
<a href="http://blog.notmyidea.org/unbelievable.html">a file-relative link to unbelievable</a></p></summary></entry><entry><title>Article 1</title><link href="http://blog.notmyidea.org/article-1.html" rel="alternate"></link><updated>2011-02-17T00:00:00+01:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2011-02-17:article-1.html</id><summary type="html"><p>Article 1</p>
|
||||||
</summary></entry><entry><title>Article 2</title><link href="http://blog.notmyidea.org/article-2.html" rel="alternate"></link><updated>2011-02-17T00:00:00+01:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2011-02-17:article-2.html</id><summary type="html"><p>Article 2</p>
|
</summary></entry><entry><title>Article 2</title><link href="http://blog.notmyidea.org/article-2.html" rel="alternate"></link><updated>2011-02-17T00:00:00+01:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2011-02-17:article-2.html</id><summary type="html"><p>Article 2</p>
|
||||||
</summary></entry><entry><title>Article 3</title><link href="http://blog.notmyidea.org/article-3.html" rel="alternate"></link><updated>2011-02-17T00:00:00+01:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2011-02-17:article-3.html</id><summary type="html"><p>Article 3</p>
|
</summary></entry><entry><title>Article 3</title><link href="http://blog.notmyidea.org/article-3.html" rel="alternate"></link><updated>2011-02-17T00:00:00+01:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2011-02-17:article-3.html</id><summary type="html"><p>Article 3</p>
|
||||||
</summary></entry><entry><title>This is a super article !</title><link href="http://blog.notmyidea.org/this-is-a-super-article.html" rel="alternate"></link><updated>2010-12-02T10:14:00+01:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2010-12-02:this-is-a-super-article.html</id><summary type="html"><p>Some content here !</p>
|
</summary></entry><entry><title>This is a super article !</title><link href="http://blog.notmyidea.org/this-is-a-super-article.html" rel="alternate"></link><updated>2010-12-02T10:14:00+01:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2010-12-02:this-is-a-super-article.html</id><summary type="html"><p>Some content here !</p>
|
||||||
<div class="section" id="this-is-a-simple-title">
|
<div class="section" id="this-is-a-simple-title">
|
||||||
<h2>This is a simple title</h2>
|
<h2>This is a simple title</h2>
|
||||||
<p>And here comes the cool <a class="reference external" href="http://books.couchdb.org/relax/design-documents/views">stuff</a>.</p>
|
<p>And here comes the cool <a class="reference external" href="http://books.couchdb.org/relax/design-documents/views">stuff</a>.</p>
|
||||||
<img alt="alternate text" src="pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="http://blog.notmyidea.org/static/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
||||||
<img alt="alternate text" src="pictures/Sushi_Macro.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="http://blog.notmyidea.org/static/pictures/Sushi_Macro.jpg" style="width: 600px; height: 450px;" />
|
||||||
<pre class="literal-block">
|
<pre class="literal-block">
|
||||||
&gt;&gt;&gt; from ipdb import set_trace
|
&gt;&gt;&gt; from ipdb import set_trace
|
||||||
&gt;&gt;&gt; set_trace()
|
&gt;&gt;&gt; set_trace()
|
||||||
|
|
@ -19,7 +21,9 @@
|
||||||
<h2>Why not ?</h2>
|
<h2>Why not ?</h2>
|
||||||
<p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst !
|
<p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst !
|
||||||
YEAH !</p>
|
YEAH !</p>
|
||||||
<img alt="alternate text" src="pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="http://blog.notmyidea.org/static/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
||||||
</div>
|
</div>
|
||||||
</summary><category term="oh"></category><category term="bar"></category><category term="yeah"></category></entry><entry><title>Unbelievable !</title><link href="http://blog.notmyidea.org/unbelievable.html" rel="alternate"></link><updated>2010-10-15T20:30:00+02:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2010-10-15:unbelievable.html</id><summary type="html"><p>Or completely awesome. Depends the needs.</p>
|
</summary><category term="oh"></category><category term="bar"></category><category term="yeah"></category></entry><entry><title>Unbelievable !</title><link href="http://blog.notmyidea.org/unbelievable.html" rel="alternate"></link><updated>2010-10-15T20:30:00+02:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2010-10-15:unbelievable.html</id><summary type="html"><p>Or completely awesome. Depends the needs.</p>
|
||||||
|
<p><a class="reference external" href="http://blog.notmyidea.org/a-markdown-powered-article.html">a root-relative link to markdown-article</a>
|
||||||
|
<a class="reference external" href="http://blog.notmyidea.org/a-markdown-powered-article.html">a file-relative link to markdown-article</a></p>
|
||||||
</summary></entry></feed>
|
</summary></entry></feed>
|
||||||
|
|
@ -2,15 +2,17 @@
|
||||||
<feed xmlns="http://www.w3.org/2005/Atom"><title>Alexis' log</title><link href="http://blog.notmyidea.org/" rel="alternate"></link><link href="http://blog.notmyidea.org/feeds/all.atom.xml" rel="self"></link><id>http://blog.notmyidea.org/</id><updated>2012-03-02T14:01:01+01:00</updated><entry><title>Trop bien !</title><link href="http://blog.notmyidea.org/oh-yeah-fr.html" rel="alternate"></link><updated>2012-03-02T14:01:01+01:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2012-03-02:oh-yeah-fr.html</id><summary type="html"><p>Et voila du contenu en français</p>
|
<feed xmlns="http://www.w3.org/2005/Atom"><title>Alexis' log</title><link href="http://blog.notmyidea.org/" rel="alternate"></link><link href="http://blog.notmyidea.org/feeds/all.atom.xml" rel="self"></link><id>http://blog.notmyidea.org/</id><updated>2012-03-02T14:01:01+01:00</updated><entry><title>Trop bien !</title><link href="http://blog.notmyidea.org/oh-yeah-fr.html" rel="alternate"></link><updated>2012-03-02T14:01:01+01:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2012-03-02:oh-yeah-fr.html</id><summary type="html"><p>Et voila du contenu en français</p>
|
||||||
</summary></entry><entry><title>Second article</title><link href="http://blog.notmyidea.org/second-article.html" rel="alternate"></link><updated>2012-02-29T00:00:00+01:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2012-02-29:second-article.html</id><summary type="html"><p>This is some article, in english</p>
|
</summary></entry><entry><title>Second article</title><link href="http://blog.notmyidea.org/second-article.html" rel="alternate"></link><updated>2012-02-29T00:00:00+01:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2012-02-29:second-article.html</id><summary type="html"><p>This is some article, in english</p>
|
||||||
</summary><category term="foo"></category><category term="bar"></category><category term="baz"></category></entry><entry><title>Deuxième article</title><link href="http://blog.notmyidea.org/second-article-fr.html" rel="alternate"></link><updated>2012-02-29T00:00:00+01:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2012-02-29:second-article-fr.html</id><summary type="html"><p>Ceci est un article, en français.</p>
|
</summary><category term="foo"></category><category term="bar"></category><category term="baz"></category></entry><entry><title>Deuxième article</title><link href="http://blog.notmyidea.org/second-article-fr.html" rel="alternate"></link><updated>2012-02-29T00:00:00+01:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2012-02-29:second-article-fr.html</id><summary type="html"><p>Ceci est un article, en français.</p>
|
||||||
</summary><category term="foo"></category><category term="bar"></category><category term="baz"></category></entry><entry><title>A markdown powered article</title><link href="http://blog.notmyidea.org/a-markdown-powered-article.html" rel="alternate"></link><updated>2011-04-20T00:00:00+02:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2011-04-20:a-markdown-powered-article.html</id><summary type="html"><p>You're mutually oblivious.</p></summary></entry><entry><title>Article 1</title><link href="http://blog.notmyidea.org/article-1.html" rel="alternate"></link><updated>2011-02-17T00:00:00+01:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2011-02-17:article-1.html</id><summary type="html"><p>Article 1</p>
|
</summary><category term="foo"></category><category term="bar"></category><category term="baz"></category></entry><entry><title>A markdown powered article</title><link href="http://blog.notmyidea.org/a-markdown-powered-article.html" rel="alternate"></link><updated>2011-04-20T00:00:00+02:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2011-04-20:a-markdown-powered-article.html</id><summary type="html"><p>You're mutually oblivious.</p>
|
||||||
|
<p><a href="http://blog.notmyidea.org/unbelievable.html">a root-relative link to unbelievable</a>
|
||||||
|
<a href="http://blog.notmyidea.org/unbelievable.html">a file-relative link to unbelievable</a></p></summary></entry><entry><title>Article 1</title><link href="http://blog.notmyidea.org/article-1.html" rel="alternate"></link><updated>2011-02-17T00:00:00+01:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2011-02-17:article-1.html</id><summary type="html"><p>Article 1</p>
|
||||||
</summary></entry><entry><title>Article 2</title><link href="http://blog.notmyidea.org/article-2.html" rel="alternate"></link><updated>2011-02-17T00:00:00+01:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2011-02-17:article-2.html</id><summary type="html"><p>Article 2</p>
|
</summary></entry><entry><title>Article 2</title><link href="http://blog.notmyidea.org/article-2.html" rel="alternate"></link><updated>2011-02-17T00:00:00+01:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2011-02-17:article-2.html</id><summary type="html"><p>Article 2</p>
|
||||||
</summary></entry><entry><title>Article 3</title><link href="http://blog.notmyidea.org/article-3.html" rel="alternate"></link><updated>2011-02-17T00:00:00+01:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2011-02-17:article-3.html</id><summary type="html"><p>Article 3</p>
|
</summary></entry><entry><title>Article 3</title><link href="http://blog.notmyidea.org/article-3.html" rel="alternate"></link><updated>2011-02-17T00:00:00+01:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2011-02-17:article-3.html</id><summary type="html"><p>Article 3</p>
|
||||||
</summary></entry><entry><title>This is a super article !</title><link href="http://blog.notmyidea.org/this-is-a-super-article.html" rel="alternate"></link><updated>2010-12-02T10:14:00+01:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2010-12-02:this-is-a-super-article.html</id><summary type="html"><p>Some content here !</p>
|
</summary></entry><entry><title>This is a super article !</title><link href="http://blog.notmyidea.org/this-is-a-super-article.html" rel="alternate"></link><updated>2010-12-02T10:14:00+01:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2010-12-02:this-is-a-super-article.html</id><summary type="html"><p>Some content here !</p>
|
||||||
<div class="section" id="this-is-a-simple-title">
|
<div class="section" id="this-is-a-simple-title">
|
||||||
<h2>This is a simple title</h2>
|
<h2>This is a simple title</h2>
|
||||||
<p>And here comes the cool <a class="reference external" href="http://books.couchdb.org/relax/design-documents/views">stuff</a>.</p>
|
<p>And here comes the cool <a class="reference external" href="http://books.couchdb.org/relax/design-documents/views">stuff</a>.</p>
|
||||||
<img alt="alternate text" src="pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="http://blog.notmyidea.org/static/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
||||||
<img alt="alternate text" src="pictures/Sushi_Macro.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="http://blog.notmyidea.org/static/pictures/Sushi_Macro.jpg" style="width: 600px; height: 450px;" />
|
||||||
<pre class="literal-block">
|
<pre class="literal-block">
|
||||||
&gt;&gt;&gt; from ipdb import set_trace
|
&gt;&gt;&gt; from ipdb import set_trace
|
||||||
&gt;&gt;&gt; set_trace()
|
&gt;&gt;&gt; set_trace()
|
||||||
|
|
@ -21,7 +23,9 @@
|
||||||
<h2>Why not ?</h2>
|
<h2>Why not ?</h2>
|
||||||
<p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst !
|
<p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst !
|
||||||
YEAH !</p>
|
YEAH !</p>
|
||||||
<img alt="alternate text" src="pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="http://blog.notmyidea.org/static/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
||||||
</div>
|
</div>
|
||||||
</summary><category term="oh"></category><category term="bar"></category><category term="yeah"></category></entry><entry><title>Unbelievable !</title><link href="http://blog.notmyidea.org/unbelievable.html" rel="alternate"></link><updated>2010-10-15T20:30:00+02:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2010-10-15:unbelievable.html</id><summary type="html"><p>Or completely awesome. Depends the needs.</p>
|
</summary><category term="oh"></category><category term="bar"></category><category term="yeah"></category></entry><entry><title>Unbelievable !</title><link href="http://blog.notmyidea.org/unbelievable.html" rel="alternate"></link><updated>2010-10-15T20:30:00+02:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2010-10-15:unbelievable.html</id><summary type="html"><p>Or completely awesome. Depends the needs.</p>
|
||||||
|
<p><a class="reference external" href="http://blog.notmyidea.org/a-markdown-powered-article.html">a root-relative link to markdown-article</a>
|
||||||
|
<a class="reference external" href="http://blog.notmyidea.org/a-markdown-powered-article.html">a file-relative link to markdown-article</a></p>
|
||||||
</summary></entry></feed>
|
</summary></entry></feed>
|
||||||
|
|
@ -2,15 +2,17 @@
|
||||||
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Alexis' log</title><link>http://blog.notmyidea.org/</link><description></description><atom:link href="http://blog.notmyidea.org/feeds/all.rss.xml" rel="self"></atom:link><lastBuildDate>Fri, 02 Mar 2012 14:01:01 +0100</lastBuildDate><item><title>Trop bien !</title><link>http://blog.notmyidea.org/oh-yeah-fr.html</link><description><p>Et voila du contenu en français</p>
|
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Alexis' log</title><link>http://blog.notmyidea.org/</link><description></description><atom:link href="http://blog.notmyidea.org/feeds/all.rss.xml" rel="self"></atom:link><lastBuildDate>Fri, 02 Mar 2012 14:01:01 +0100</lastBuildDate><item><title>Trop bien !</title><link>http://blog.notmyidea.org/oh-yeah-fr.html</link><description><p>Et voila du contenu en français</p>
|
||||||
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexis Métaireau</dc:creator><pubDate>Fri, 02 Mar 2012 14:01:01 +0100</pubDate><guid>tag:blog.notmyidea.org,2012-03-02:oh-yeah-fr.html</guid></item><item><title>Second article</title><link>http://blog.notmyidea.org/second-article.html</link><description><p>This is some article, in english</p>
|
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexis Métaireau</dc:creator><pubDate>Fri, 02 Mar 2012 14:01:01 +0100</pubDate><guid>tag:blog.notmyidea.org,2012-03-02:oh-yeah-fr.html</guid></item><item><title>Second article</title><link>http://blog.notmyidea.org/second-article.html</link><description><p>This is some article, in english</p>
|
||||||
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexis Métaireau</dc:creator><pubDate>Wed, 29 Feb 2012 00:00:00 +0100</pubDate><guid>tag:blog.notmyidea.org,2012-02-29:second-article.html</guid><category>foo</category><category>bar</category><category>baz</category></item><item><title>Deuxième article</title><link>http://blog.notmyidea.org/second-article-fr.html</link><description><p>Ceci est un article, en français.</p>
|
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexis Métaireau</dc:creator><pubDate>Wed, 29 Feb 2012 00:00:00 +0100</pubDate><guid>tag:blog.notmyidea.org,2012-02-29:second-article.html</guid><category>foo</category><category>bar</category><category>baz</category></item><item><title>Deuxième article</title><link>http://blog.notmyidea.org/second-article-fr.html</link><description><p>Ceci est un article, en français.</p>
|
||||||
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexis Métaireau</dc:creator><pubDate>Wed, 29 Feb 2012 00:00:00 +0100</pubDate><guid>tag:blog.notmyidea.org,2012-02-29:second-article-fr.html</guid><category>foo</category><category>bar</category><category>baz</category></item><item><title>A markdown powered article</title><link>http://blog.notmyidea.org/a-markdown-powered-article.html</link><description><p>You're mutually oblivious.</p></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexis Métaireau</dc:creator><pubDate>Wed, 20 Apr 2011 00:00:00 +0200</pubDate><guid>tag:blog.notmyidea.org,2011-04-20:a-markdown-powered-article.html</guid></item><item><title>Article 1</title><link>http://blog.notmyidea.org/article-1.html</link><description><p>Article 1</p>
|
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexis Métaireau</dc:creator><pubDate>Wed, 29 Feb 2012 00:00:00 +0100</pubDate><guid>tag:blog.notmyidea.org,2012-02-29:second-article-fr.html</guid><category>foo</category><category>bar</category><category>baz</category></item><item><title>A markdown powered article</title><link>http://blog.notmyidea.org/a-markdown-powered-article.html</link><description><p>You're mutually oblivious.</p>
|
||||||
|
<p><a href="http://blog.notmyidea.org/unbelievable.html">a root-relative link to unbelievable</a>
|
||||||
|
<a href="http://blog.notmyidea.org/unbelievable.html">a file-relative link to unbelievable</a></p></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexis Métaireau</dc:creator><pubDate>Wed, 20 Apr 2011 00:00:00 +0200</pubDate><guid>tag:blog.notmyidea.org,2011-04-20:a-markdown-powered-article.html</guid></item><item><title>Article 1</title><link>http://blog.notmyidea.org/article-1.html</link><description><p>Article 1</p>
|
||||||
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexis Métaireau</dc:creator><pubDate>Thu, 17 Feb 2011 00:00:00 +0100</pubDate><guid>tag:blog.notmyidea.org,2011-02-17:article-1.html</guid></item><item><title>Article 2</title><link>http://blog.notmyidea.org/article-2.html</link><description><p>Article 2</p>
|
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexis Métaireau</dc:creator><pubDate>Thu, 17 Feb 2011 00:00:00 +0100</pubDate><guid>tag:blog.notmyidea.org,2011-02-17:article-1.html</guid></item><item><title>Article 2</title><link>http://blog.notmyidea.org/article-2.html</link><description><p>Article 2</p>
|
||||||
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexis Métaireau</dc:creator><pubDate>Thu, 17 Feb 2011 00:00:00 +0100</pubDate><guid>tag:blog.notmyidea.org,2011-02-17:article-2.html</guid></item><item><title>Article 3</title><link>http://blog.notmyidea.org/article-3.html</link><description><p>Article 3</p>
|
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexis Métaireau</dc:creator><pubDate>Thu, 17 Feb 2011 00:00:00 +0100</pubDate><guid>tag:blog.notmyidea.org,2011-02-17:article-2.html</guid></item><item><title>Article 3</title><link>http://blog.notmyidea.org/article-3.html</link><description><p>Article 3</p>
|
||||||
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexis Métaireau</dc:creator><pubDate>Thu, 17 Feb 2011 00:00:00 +0100</pubDate><guid>tag:blog.notmyidea.org,2011-02-17:article-3.html</guid></item><item><title>This is a super article !</title><link>http://blog.notmyidea.org/this-is-a-super-article.html</link><description><p>Some content here !</p>
|
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexis Métaireau</dc:creator><pubDate>Thu, 17 Feb 2011 00:00:00 +0100</pubDate><guid>tag:blog.notmyidea.org,2011-02-17:article-3.html</guid></item><item><title>This is a super article !</title><link>http://blog.notmyidea.org/this-is-a-super-article.html</link><description><p>Some content here !</p>
|
||||||
<div class="section" id="this-is-a-simple-title">
|
<div class="section" id="this-is-a-simple-title">
|
||||||
<h2>This is a simple title</h2>
|
<h2>This is a simple title</h2>
|
||||||
<p>And here comes the cool <a class="reference external" href="http://books.couchdb.org/relax/design-documents/views">stuff</a>.</p>
|
<p>And here comes the cool <a class="reference external" href="http://books.couchdb.org/relax/design-documents/views">stuff</a>.</p>
|
||||||
<img alt="alternate text" src="pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="http://blog.notmyidea.org/static/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
||||||
<img alt="alternate text" src="pictures/Sushi_Macro.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="http://blog.notmyidea.org/static/pictures/Sushi_Macro.jpg" style="width: 600px; height: 450px;" />
|
||||||
<pre class="literal-block">
|
<pre class="literal-block">
|
||||||
&gt;&gt;&gt; from ipdb import set_trace
|
&gt;&gt;&gt; from ipdb import set_trace
|
||||||
&gt;&gt;&gt; set_trace()
|
&gt;&gt;&gt; set_trace()
|
||||||
|
|
@ -21,7 +23,9 @@
|
||||||
<h2>Why not ?</h2>
|
<h2>Why not ?</h2>
|
||||||
<p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst !
|
<p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst !
|
||||||
YEAH !</p>
|
YEAH !</p>
|
||||||
<img alt="alternate text" src="pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="http://blog.notmyidea.org/static/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
||||||
</div>
|
</div>
|
||||||
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexis Métaireau</dc:creator><pubDate>Wed, 20 Oct 2010 10:14:00 +0200</pubDate><guid>tag:blog.notmyidea.org,2010-10-20:oh-yeah.html</guid><category>oh</category><category>bar</category><category>yeah</category></item><item><title>Unbelievable !</title><link>http://blog.notmyidea.org/unbelievable.html</link><description><p>Or completely awesome. Depends the needs.</p>
|
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexis Métaireau</dc:creator><pubDate>Wed, 20 Oct 2010 10:14:00 +0200</pubDate><guid>tag:blog.notmyidea.org,2010-10-20:oh-yeah.html</guid><category>oh</category><category>bar</category><category>yeah</category></item><item><title>Unbelievable !</title><link>http://blog.notmyidea.org/unbelievable.html</link><description><p>Or completely awesome. Depends the needs.</p>
|
||||||
|
<p><a class="reference external" href="http://blog.notmyidea.org/a-markdown-powered-article.html">a root-relative link to markdown-article</a>
|
||||||
|
<a class="reference external" href="http://blog.notmyidea.org/a-markdown-powered-article.html">a file-relative link to markdown-article</a></p>
|
||||||
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexis Métaireau</dc:creator><pubDate>Fri, 15 Oct 2010 20:30:00 +0200</pubDate><guid>tag:blog.notmyidea.org,2010-10-15:unbelievable.html</guid></item></channel></rss>
|
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexis Métaireau</dc:creator><pubDate>Fri, 15 Oct 2010 20:30:00 +0200</pubDate><guid>tag:blog.notmyidea.org,2010-10-15:unbelievable.html</guid></item></channel></rss>
|
||||||
|
|
@ -3,6 +3,6 @@
|
||||||
<h2>Why not ?</h2>
|
<h2>Why not ?</h2>
|
||||||
<p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst !
|
<p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst !
|
||||||
YEAH !</p>
|
YEAH !</p>
|
||||||
<img alt="alternate text" src="pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="http://blog.notmyidea.org/static/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
||||||
</div>
|
</div>
|
||||||
</summary><category term="oh"></category><category term="bar"></category><category term="yeah"></category></entry></feed>
|
</summary><category term="oh"></category><category term="bar"></category><category term="yeah"></category></entry></feed>
|
||||||
|
|
@ -3,6 +3,6 @@
|
||||||
<h2>Why not ?</h2>
|
<h2>Why not ?</h2>
|
||||||
<p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst !
|
<p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst !
|
||||||
YEAH !</p>
|
YEAH !</p>
|
||||||
<img alt="alternate text" src="pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="http://blog.notmyidea.org/static/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
||||||
</div>
|
</div>
|
||||||
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexis Métaireau</dc:creator><pubDate>Wed, 20 Oct 2010 10:14:00 +0200</pubDate><guid>tag:blog.notmyidea.org,2010-10-20:oh-yeah.html</guid><category>oh</category><category>bar</category><category>yeah</category></item></channel></rss>
|
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexis Métaireau</dc:creator><pubDate>Wed, 20 Oct 2010 10:14:00 +0200</pubDate><guid>tag:blog.notmyidea.org,2010-10-20:oh-yeah.html</guid><category>oh</category><category>bar</category><category>yeah</category></item></channel></rss>
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<feed xmlns="http://www.w3.org/2005/Atom"><title>Alexis' log</title><link href="http://blog.notmyidea.org/" rel="alternate"></link><link href="http://blog.notmyidea.org/feeds/cat1.atom.xml" rel="self"></link><id>http://blog.notmyidea.org/</id><updated>2011-04-20T00:00:00+02:00</updated><entry><title>A markdown powered article</title><link href="http://blog.notmyidea.org/a-markdown-powered-article.html" rel="alternate"></link><updated>2011-04-20T00:00:00+02:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2011-04-20:a-markdown-powered-article.html</id><summary type="html"><p>You're mutually oblivious.</p></summary></entry><entry><title>Article 1</title><link href="http://blog.notmyidea.org/article-1.html" rel="alternate"></link><updated>2011-02-17T00:00:00+01:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2011-02-17:article-1.html</id><summary type="html"><p>Article 1</p>
|
<feed xmlns="http://www.w3.org/2005/Atom"><title>Alexis' log</title><link href="http://blog.notmyidea.org/" rel="alternate"></link><link href="http://blog.notmyidea.org/feeds/cat1.atom.xml" rel="self"></link><id>http://blog.notmyidea.org/</id><updated>2011-04-20T00:00:00+02:00</updated><entry><title>A markdown powered article</title><link href="http://blog.notmyidea.org/a-markdown-powered-article.html" rel="alternate"></link><updated>2011-04-20T00:00:00+02:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2011-04-20:a-markdown-powered-article.html</id><summary type="html"><p>You're mutually oblivious.</p>
|
||||||
|
<p><a href="http://blog.notmyidea.org/unbelievable.html">a root-relative link to unbelievable</a>
|
||||||
|
<a href="http://blog.notmyidea.org/unbelievable.html">a file-relative link to unbelievable</a></p></summary></entry><entry><title>Article 1</title><link href="http://blog.notmyidea.org/article-1.html" rel="alternate"></link><updated>2011-02-17T00:00:00+01:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2011-02-17:article-1.html</id><summary type="html"><p>Article 1</p>
|
||||||
</summary></entry><entry><title>Article 2</title><link href="http://blog.notmyidea.org/article-2.html" rel="alternate"></link><updated>2011-02-17T00:00:00+01:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2011-02-17:article-2.html</id><summary type="html"><p>Article 2</p>
|
</summary></entry><entry><title>Article 2</title><link href="http://blog.notmyidea.org/article-2.html" rel="alternate"></link><updated>2011-02-17T00:00:00+01:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2011-02-17:article-2.html</id><summary type="html"><p>Article 2</p>
|
||||||
</summary></entry><entry><title>Article 3</title><link href="http://blog.notmyidea.org/article-3.html" rel="alternate"></link><updated>2011-02-17T00:00:00+01:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2011-02-17:article-3.html</id><summary type="html"><p>Article 3</p>
|
</summary></entry><entry><title>Article 3</title><link href="http://blog.notmyidea.org/article-3.html" rel="alternate"></link><updated>2011-02-17T00:00:00+01:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2011-02-17:article-3.html</id><summary type="html"><p>Article 3</p>
|
||||||
</summary></entry></feed>
|
</summary></entry></feed>
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Alexis' log</title><link>http://blog.notmyidea.org/</link><description></description><atom:link href="http://blog.notmyidea.org/feeds/cat1.rss.xml" rel="self"></atom:link><lastBuildDate>Wed, 20 Apr 2011 00:00:00 +0200</lastBuildDate><item><title>A markdown powered article</title><link>http://blog.notmyidea.org/a-markdown-powered-article.html</link><description><p>You're mutually oblivious.</p></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexis Métaireau</dc:creator><pubDate>Wed, 20 Apr 2011 00:00:00 +0200</pubDate><guid>tag:blog.notmyidea.org,2011-04-20:a-markdown-powered-article.html</guid></item><item><title>Article 1</title><link>http://blog.notmyidea.org/article-1.html</link><description><p>Article 1</p>
|
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Alexis' log</title><link>http://blog.notmyidea.org/</link><description></description><atom:link href="http://blog.notmyidea.org/feeds/cat1.rss.xml" rel="self"></atom:link><lastBuildDate>Wed, 20 Apr 2011 00:00:00 +0200</lastBuildDate><item><title>A markdown powered article</title><link>http://blog.notmyidea.org/a-markdown-powered-article.html</link><description><p>You're mutually oblivious.</p>
|
||||||
|
<p><a href="http://blog.notmyidea.org/unbelievable.html">a root-relative link to unbelievable</a>
|
||||||
|
<a href="http://blog.notmyidea.org/unbelievable.html">a file-relative link to unbelievable</a></p></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexis Métaireau</dc:creator><pubDate>Wed, 20 Apr 2011 00:00:00 +0200</pubDate><guid>tag:blog.notmyidea.org,2011-04-20:a-markdown-powered-article.html</guid></item><item><title>Article 1</title><link>http://blog.notmyidea.org/article-1.html</link><description><p>Article 1</p>
|
||||||
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexis Métaireau</dc:creator><pubDate>Thu, 17 Feb 2011 00:00:00 +0100</pubDate><guid>tag:blog.notmyidea.org,2011-02-17:article-1.html</guid></item><item><title>Article 2</title><link>http://blog.notmyidea.org/article-2.html</link><description><p>Article 2</p>
|
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexis Métaireau</dc:creator><pubDate>Thu, 17 Feb 2011 00:00:00 +0100</pubDate><guid>tag:blog.notmyidea.org,2011-02-17:article-1.html</guid></item><item><title>Article 2</title><link>http://blog.notmyidea.org/article-2.html</link><description><p>Article 2</p>
|
||||||
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexis Métaireau</dc:creator><pubDate>Thu, 17 Feb 2011 00:00:00 +0100</pubDate><guid>tag:blog.notmyidea.org,2011-02-17:article-2.html</guid></item><item><title>Article 3</title><link>http://blog.notmyidea.org/article-3.html</link><description><p>Article 3</p>
|
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexis Métaireau</dc:creator><pubDate>Thu, 17 Feb 2011 00:00:00 +0100</pubDate><guid>tag:blog.notmyidea.org,2011-02-17:article-2.html</guid></item><item><title>Article 3</title><link>http://blog.notmyidea.org/article-3.html</link><description><p>Article 3</p>
|
||||||
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexis Métaireau</dc:creator><pubDate>Thu, 17 Feb 2011 00:00:00 +0100</pubDate><guid>tag:blog.notmyidea.org,2011-02-17:article-3.html</guid></item></channel></rss>
|
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexis Métaireau</dc:creator><pubDate>Thu, 17 Feb 2011 00:00:00 +0100</pubDate><guid>tag:blog.notmyidea.org,2011-02-17:article-3.html</guid></item></channel></rss>
|
||||||
|
|
@ -1,4 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<feed xmlns="http://www.w3.org/2005/Atom"><title>Alexis' log</title><link href="http://blog.notmyidea.org/" rel="alternate"></link><link href="http://blog.notmyidea.org/feeds/misc.atom.xml" rel="self"></link><id>http://blog.notmyidea.org/</id><updated>2012-02-29T00:00:00+01:00</updated><entry><title>Second article</title><link href="http://blog.notmyidea.org/second-article.html" rel="alternate"></link><updated>2012-02-29T00:00:00+01:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2012-02-29:second-article.html</id><summary type="html"><p>This is some article, in english</p>
|
<feed xmlns="http://www.w3.org/2005/Atom"><title>Alexis' log</title><link href="http://blog.notmyidea.org/" rel="alternate"></link><link href="http://blog.notmyidea.org/feeds/misc.atom.xml" rel="self"></link><id>http://blog.notmyidea.org/</id><updated>2012-02-29T00:00:00+01:00</updated><entry><title>Second article</title><link href="http://blog.notmyidea.org/second-article.html" rel="alternate"></link><updated>2012-02-29T00:00:00+01:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2012-02-29:second-article.html</id><summary type="html"><p>This is some article, in english</p>
|
||||||
</summary><category term="foo"></category><category term="bar"></category><category term="baz"></category></entry><entry><title>Unbelievable !</title><link href="http://blog.notmyidea.org/unbelievable.html" rel="alternate"></link><updated>2010-10-15T20:30:00+02:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2010-10-15:unbelievable.html</id><summary type="html"><p>Or completely awesome. Depends the needs.</p>
|
</summary><category term="foo"></category><category term="bar"></category><category term="baz"></category></entry><entry><title>Unbelievable !</title><link href="http://blog.notmyidea.org/unbelievable.html" rel="alternate"></link><updated>2010-10-15T20:30:00+02:00</updated><author><name>Alexis Métaireau</name></author><id>tag:blog.notmyidea.org,2010-10-15:unbelievable.html</id><summary type="html"><p>Or completely awesome. Depends the needs.</p>
|
||||||
|
<p><a class="reference external" href="http://blog.notmyidea.org/a-markdown-powered-article.html">a root-relative link to markdown-article</a>
|
||||||
|
<a class="reference external" href="http://blog.notmyidea.org/a-markdown-powered-article.html">a file-relative link to markdown-article</a></p>
|
||||||
</summary></entry></feed>
|
</summary></entry></feed>
|
||||||
|
|
@ -1,4 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Alexis' log</title><link>http://blog.notmyidea.org/</link><description></description><atom:link href="http://blog.notmyidea.org/feeds/misc.rss.xml" rel="self"></atom:link><lastBuildDate>Wed, 29 Feb 2012 00:00:00 +0100</lastBuildDate><item><title>Second article</title><link>http://blog.notmyidea.org/second-article.html</link><description><p>This is some article, in english</p>
|
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Alexis' log</title><link>http://blog.notmyidea.org/</link><description></description><atom:link href="http://blog.notmyidea.org/feeds/misc.rss.xml" rel="self"></atom:link><lastBuildDate>Wed, 29 Feb 2012 00:00:00 +0100</lastBuildDate><item><title>Second article</title><link>http://blog.notmyidea.org/second-article.html</link><description><p>This is some article, in english</p>
|
||||||
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexis Métaireau</dc:creator><pubDate>Wed, 29 Feb 2012 00:00:00 +0100</pubDate><guid>tag:blog.notmyidea.org,2012-02-29:second-article.html</guid><category>foo</category><category>bar</category><category>baz</category></item><item><title>Unbelievable !</title><link>http://blog.notmyidea.org/unbelievable.html</link><description><p>Or completely awesome. Depends the needs.</p>
|
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexis Métaireau</dc:creator><pubDate>Wed, 29 Feb 2012 00:00:00 +0100</pubDate><guid>tag:blog.notmyidea.org,2012-02-29:second-article.html</guid><category>foo</category><category>bar</category><category>baz</category></item><item><title>Unbelievable !</title><link>http://blog.notmyidea.org/unbelievable.html</link><description><p>Or completely awesome. Depends the needs.</p>
|
||||||
|
<p><a class="reference external" href="http://blog.notmyidea.org/a-markdown-powered-article.html">a root-relative link to markdown-article</a>
|
||||||
|
<a class="reference external" href="http://blog.notmyidea.org/a-markdown-powered-article.html">a file-relative link to markdown-article</a></p>
|
||||||
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexis Métaireau</dc:creator><pubDate>Fri, 15 Oct 2010 20:30:00 +0200</pubDate><guid>tag:blog.notmyidea.org,2010-10-15:unbelievable.html</guid></item></channel></rss>
|
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexis Métaireau</dc:creator><pubDate>Fri, 15 Oct 2010 20:30:00 +0200</pubDate><guid>tag:blog.notmyidea.org,2010-10-15:unbelievable.html</guid></item></channel></rss>
|
||||||
|
|
@ -3,8 +3,8 @@
|
||||||
<div class="section" id="this-is-a-simple-title">
|
<div class="section" id="this-is-a-simple-title">
|
||||||
<h2>This is a simple title</h2>
|
<h2>This is a simple title</h2>
|
||||||
<p>And here comes the cool <a class="reference external" href="http://books.couchdb.org/relax/design-documents/views">stuff</a>.</p>
|
<p>And here comes the cool <a class="reference external" href="http://books.couchdb.org/relax/design-documents/views">stuff</a>.</p>
|
||||||
<img alt="alternate text" src="pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="http://blog.notmyidea.org/static/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
||||||
<img alt="alternate text" src="pictures/Sushi_Macro.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="http://blog.notmyidea.org/static/pictures/Sushi_Macro.jpg" style="width: 600px; height: 450px;" />
|
||||||
<pre class="literal-block">
|
<pre class="literal-block">
|
||||||
&gt;&gt;&gt; from ipdb import set_trace
|
&gt;&gt;&gt; from ipdb import set_trace
|
||||||
&gt;&gt;&gt; set_trace()
|
&gt;&gt;&gt; set_trace()
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,8 @@
|
||||||
<div class="section" id="this-is-a-simple-title">
|
<div class="section" id="this-is-a-simple-title">
|
||||||
<h2>This is a simple title</h2>
|
<h2>This is a simple title</h2>
|
||||||
<p>And here comes the cool <a class="reference external" href="http://books.couchdb.org/relax/design-documents/views">stuff</a>.</p>
|
<p>And here comes the cool <a class="reference external" href="http://books.couchdb.org/relax/design-documents/views">stuff</a>.</p>
|
||||||
<img alt="alternate text" src="pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="http://blog.notmyidea.org/static/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
||||||
<img alt="alternate text" src="pictures/Sushi_Macro.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="http://blog.notmyidea.org/static/pictures/Sushi_Macro.jpg" style="width: 600px; height: 450px;" />
|
||||||
<pre class="literal-block">
|
<pre class="literal-block">
|
||||||
&gt;&gt;&gt; from ipdb import set_trace
|
&gt;&gt;&gt; from ipdb import set_trace
|
||||||
&gt;&gt;&gt; set_trace()
|
&gt;&gt;&gt; set_trace()
|
||||||
|
|
|
||||||
|
|
@ -79,6 +79,8 @@
|
||||||
<p>In <a href="./category/cat1.html">cat1</a>. </p>
|
<p>In <a href="./category/cat1.html">cat1</a>. </p>
|
||||||
|
|
||||||
</footer><!-- /.post-info --> <p>You're mutually oblivious.</p>
|
</footer><!-- /.post-info --> <p>You're mutually oblivious.</p>
|
||||||
|
<p><a href="./unbelievable.html">a root-relative link to unbelievable</a>
|
||||||
|
<a href="./unbelievable.html">a file-relative link to unbelievable</a></p>
|
||||||
<a class="readmore" href="./a-markdown-powered-article.html">read more</a>
|
<a class="readmore" href="./a-markdown-powered-article.html">read more</a>
|
||||||
<p>There are <a href="./a-markdown-powered-article.html#disqus_thread">comments</a>.</p> </div><!-- /.entry-content -->
|
<p>There are <a href="./a-markdown-powered-article.html#disqus_thread">comments</a>.</p> </div><!-- /.entry-content -->
|
||||||
</article></li>
|
</article></li>
|
||||||
|
|
|
||||||
|
|
@ -113,7 +113,7 @@ as well as <strong>inline markup</strong>.</p>
|
||||||
<h2>Why not ?</h2>
|
<h2>Why not ?</h2>
|
||||||
<p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst !
|
<p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst !
|
||||||
YEAH !</p>
|
YEAH !</p>
|
||||||
<img alt="alternate text" src="static/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="./static/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<a class="readmore" href="./oh-yeah.html">read more</a>
|
<a class="readmore" href="./oh-yeah.html">read more</a>
|
||||||
|
|
@ -140,6 +140,8 @@ YEAH !</p>
|
||||||
<p>In <a href="./category/misc.html">misc</a>. </p>
|
<p>In <a href="./category/misc.html">misc</a>. </p>
|
||||||
|
|
||||||
</footer><!-- /.post-info --> <p>Or completely awesome. Depends the needs.</p>
|
</footer><!-- /.post-info --> <p>Or completely awesome. Depends the needs.</p>
|
||||||
|
<p><a class="reference external" href="./a-markdown-powered-article.html">a root-relative link to markdown-article</a>
|
||||||
|
<a class="reference external" href="./a-markdown-powered-article.html">a file-relative link to markdown-article</a></p>
|
||||||
|
|
||||||
<a class="readmore" href="./unbelievable.html">read more</a>
|
<a class="readmore" href="./unbelievable.html">read more</a>
|
||||||
<p>There are <a href="./unbelievable.html#disqus_thread">comments</a>.</p> </div><!-- /.entry-content -->
|
<p>There are <a href="./unbelievable.html#disqus_thread">comments</a>.</p> </div><!-- /.entry-content -->
|
||||||
|
|
|
||||||
|
|
@ -58,7 +58,7 @@
|
||||||
<h2>Why not ?</h2>
|
<h2>Why not ?</h2>
|
||||||
<p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst !
|
<p>After all, why not ? It's pretty simple to do it, and it will allow me to write my blogposts in rst !
|
||||||
YEAH !</p>
|
YEAH !</p>
|
||||||
<img alt="alternate text" src="static/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="./static/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div><!-- /.entry-content -->
|
</div><!-- /.entry-content -->
|
||||||
|
|
|
||||||
|
|
@ -56,8 +56,8 @@
|
||||||
<div class="section" id="this-is-a-simple-title">
|
<div class="section" id="this-is-a-simple-title">
|
||||||
<h2>This is a simple title</h2>
|
<h2>This is a simple title</h2>
|
||||||
<p>And here comes the cool <a class="reference external" href="http://books.couchdb.org/relax/design-documents/views">stuff</a>.</p>
|
<p>And here comes the cool <a class="reference external" href="http://books.couchdb.org/relax/design-documents/views">stuff</a>.</p>
|
||||||
<img alt="alternate text" src="static/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="./static/pictures/Sushi.jpg" style="width: 600px; height: 450px;" />
|
||||||
<img alt="alternate text" src="static/pictures/Sushi_Macro.jpg" style="width: 600px; height: 450px;" />
|
<img alt="alternate text" src="./static/pictures/Sushi_Macro.jpg" style="width: 600px; height: 450px;" />
|
||||||
<pre class="literal-block">
|
<pre class="literal-block">
|
||||||
>>> from ipdb import set_trace
|
>>> from ipdb import set_trace
|
||||||
>>> set_trace()
|
>>> set_trace()
|
||||||
|
|
|
||||||
|
|
@ -53,6 +53,8 @@
|
||||||
<p>In <a href="./category/misc.html">misc</a>. </p>
|
<p>In <a href="./category/misc.html">misc</a>. </p>
|
||||||
|
|
||||||
</footer><!-- /.post-info --> <p>Or completely awesome. Depends the needs.</p>
|
</footer><!-- /.post-info --> <p>Or completely awesome. Depends the needs.</p>
|
||||||
|
<p><a class="reference external" href="./a-markdown-powered-article.html">a root-relative link to markdown-article</a>
|
||||||
|
<a class="reference external" href="./a-markdown-powered-article.html">a file-relative link to markdown-article</a></p>
|
||||||
|
|
||||||
</div><!-- /.entry-content -->
|
</div><!-- /.entry-content -->
|
||||||
<div class="comments">
|
<div class="comments">
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,8 @@ import os
|
||||||
import re
|
import re
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
|
import logging
|
||||||
|
from logging.handlers import BufferingHandler
|
||||||
|
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
from contextlib import contextmanager
|
from contextlib import contextmanager
|
||||||
|
|
@ -15,6 +17,7 @@ from tempfile import mkdtemp
|
||||||
from shutil import rmtree
|
from shutil import rmtree
|
||||||
|
|
||||||
from pelican.contents import Article
|
from pelican.contents import Article
|
||||||
|
from pelican.settings import _DEFAULT_CONFIG
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import unittest2 as unittest
|
import unittest2 as unittest
|
||||||
|
|
@ -149,3 +152,25 @@ def module_exists(module_name):
|
||||||
return False
|
return False
|
||||||
else:
|
else:
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
def get_settings():
|
||||||
|
settings = _DEFAULT_CONFIG.copy()
|
||||||
|
settings['DIRECT_TEMPLATES'] = ['archives']
|
||||||
|
settings['filenames'] = {}
|
||||||
|
return settings
|
||||||
|
|
||||||
|
|
||||||
|
class LogCountHandler(BufferingHandler):
|
||||||
|
"""
|
||||||
|
Capturing and counting logged messages.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def __init__(self, capacity=1000):
|
||||||
|
logging.handlers.BufferingHandler.__init__(self, capacity)
|
||||||
|
|
||||||
|
def count_logs(self, msg=None, level=None):
|
||||||
|
return len([l for l in self.buffer
|
||||||
|
if (msg is None or re.match(msg, l.getMessage()))
|
||||||
|
and (level is None or l.levelno == level)
|
||||||
|
])
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,9 @@ class TestPage(unittest.TestCase):
|
||||||
super(TestPage, self).setUp()
|
super(TestPage, self).setUp()
|
||||||
self.page_kwargs = {
|
self.page_kwargs = {
|
||||||
'content': TEST_CONTENT,
|
'content': TEST_CONTENT,
|
||||||
|
'context': {
|
||||||
|
'localsiteurl': '',
|
||||||
|
},
|
||||||
'metadata': {
|
'metadata': {
|
||||||
'summary': TEST_SUMMARY,
|
'summary': TEST_SUMMARY,
|
||||||
'title': 'foo bar',
|
'title': 'foo bar',
|
||||||
|
|
@ -32,7 +35,8 @@ class TestPage(unittest.TestCase):
|
||||||
|
|
||||||
"""
|
"""
|
||||||
metadata = {'foo': 'bar', 'foobar': 'baz', 'title': 'foobar', }
|
metadata = {'foo': 'bar', 'foobar': 'baz', 'title': 'foobar', }
|
||||||
page = Page(TEST_CONTENT, metadata=metadata)
|
page = Page(TEST_CONTENT, metadata=metadata,
|
||||||
|
context={'localsiteurl': ''})
|
||||||
for key, value in metadata.items():
|
for key, value in metadata.items():
|
||||||
self.assertTrue(hasattr(page, key))
|
self.assertTrue(hasattr(page, key))
|
||||||
self.assertEqual(value, getattr(page, key))
|
self.assertEqual(value, getattr(page, key))
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ from pelican.generators import ArticlesGenerator, PagesGenerator, \
|
||||||
TemplatePagesGenerator
|
TemplatePagesGenerator
|
||||||
from pelican.writers import Writer
|
from pelican.writers import Writer
|
||||||
from pelican.settings import _DEFAULT_CONFIG
|
from pelican.settings import _DEFAULT_CONFIG
|
||||||
from .support import unittest
|
from .support import unittest, get_settings
|
||||||
|
|
||||||
CUR_DIR = os.path.dirname(__file__)
|
CUR_DIR = os.path.dirname(__file__)
|
||||||
|
|
||||||
|
|
@ -28,20 +28,20 @@ class TestArticlesGenerator(unittest.TestCase):
|
||||||
for each test.
|
for each test.
|
||||||
"""
|
"""
|
||||||
if self.generator is None:
|
if self.generator is None:
|
||||||
settings = _DEFAULT_CONFIG.copy()
|
settings = get_settings()
|
||||||
settings['ARTICLE_DIR'] = 'content'
|
settings['ARTICLE_DIR'] = 'content'
|
||||||
settings['DEFAULT_CATEGORY'] = 'Default'
|
settings['DEFAULT_CATEGORY'] = 'Default'
|
||||||
settings['DEFAULT_DATE'] = (1970, 01, 01)
|
settings['DEFAULT_DATE'] = (1970, 01, 01)
|
||||||
self.generator = ArticlesGenerator(settings.copy(), settings,
|
self.generator = ArticlesGenerator(settings.copy(), settings,
|
||||||
CUR_DIR, _DEFAULT_CONFIG['THEME'], None,
|
CUR_DIR, settings['THEME'], None,
|
||||||
_DEFAULT_CONFIG['MARKUP'])
|
settings['MARKUP'])
|
||||||
self.generator.generate_context()
|
self.generator.generate_context()
|
||||||
return self.generator
|
return self.generator
|
||||||
|
|
||||||
def distill_articles(self, articles):
|
def distill_articles(self, articles):
|
||||||
distilled = []
|
distilled = []
|
||||||
for page in articles:
|
for page in articles:
|
||||||
distilled.append([
|
distilled.append([
|
||||||
page.title,
|
page.title,
|
||||||
page.status,
|
page.status,
|
||||||
page.category.name,
|
page.category.name,
|
||||||
|
|
@ -51,16 +51,16 @@ class TestArticlesGenerator(unittest.TestCase):
|
||||||
return distilled
|
return distilled
|
||||||
|
|
||||||
def test_generate_feeds(self):
|
def test_generate_feeds(self):
|
||||||
|
settings = get_settings()
|
||||||
generator = ArticlesGenerator(None, {'FEED_ALL_ATOM': _DEFAULT_CONFIG['FEED_ALL_ATOM']},
|
generator = ArticlesGenerator(settings,
|
||||||
None, _DEFAULT_CONFIG['THEME'], None,
|
{'FEED_ALL_ATOM': settings['FEED_ALL_ATOM']}, None,
|
||||||
_DEFAULT_CONFIG['MARKUP'])
|
settings['THEME'], None, settings['MARKUP'])
|
||||||
writer = MagicMock()
|
writer = MagicMock()
|
||||||
generator.generate_feeds(writer)
|
generator.generate_feeds(writer)
|
||||||
writer.write_feed.assert_called_with([], None, 'feeds/all.atom.xml')
|
writer.write_feed.assert_called_with([], settings, 'feeds/all.atom.xml')
|
||||||
|
|
||||||
generator = ArticlesGenerator(None, {'FEED_ALL_ATOM': None}, None,
|
generator = ArticlesGenerator(settings, {'FEED_ALL_ATOM': None}, None,
|
||||||
_DEFAULT_CONFIG['THEME'], None, None)
|
settings['THEME'], None, None)
|
||||||
writer = MagicMock()
|
writer = MagicMock()
|
||||||
generator.generate_feeds(writer)
|
generator.generate_feeds(writer)
|
||||||
self.assertFalse(writer.write_feed.called)
|
self.assertFalse(writer.write_feed.called)
|
||||||
|
|
@ -96,6 +96,7 @@ class TestArticlesGenerator(unittest.TestCase):
|
||||||
settings['DEFAULT_CATEGORY'] = 'Default'
|
settings['DEFAULT_CATEGORY'] = 'Default'
|
||||||
settings['DEFAULT_DATE'] = (1970, 01, 01)
|
settings['DEFAULT_DATE'] = (1970, 01, 01)
|
||||||
settings['USE_FOLDER_AS_CATEGORY'] = False
|
settings['USE_FOLDER_AS_CATEGORY'] = False
|
||||||
|
settings['filenames'] = {}
|
||||||
generator = ArticlesGenerator(settings.copy(), settings,
|
generator = ArticlesGenerator(settings.copy(), settings,
|
||||||
CUR_DIR, _DEFAULT_CONFIG['THEME'], None,
|
CUR_DIR, _DEFAULT_CONFIG['THEME'], None,
|
||||||
_DEFAULT_CONFIG['MARKUP'])
|
_DEFAULT_CONFIG['MARKUP'])
|
||||||
|
|
@ -106,11 +107,10 @@ class TestArticlesGenerator(unittest.TestCase):
|
||||||
|
|
||||||
def test_direct_templates_save_as_default(self):
|
def test_direct_templates_save_as_default(self):
|
||||||
|
|
||||||
settings = _DEFAULT_CONFIG.copy()
|
settings = get_settings()
|
||||||
settings['DIRECT_TEMPLATES'] = ['archives']
|
generator = ArticlesGenerator(settings, settings, None,
|
||||||
generator = ArticlesGenerator(settings.copy(), settings, None,
|
settings['THEME'], None,
|
||||||
_DEFAULT_CONFIG['THEME'], None,
|
settings['MARKUP'])
|
||||||
_DEFAULT_CONFIG['MARKUP'])
|
|
||||||
write = MagicMock()
|
write = MagicMock()
|
||||||
generator.generate_direct_templates(write)
|
generator.generate_direct_templates(write)
|
||||||
write.assert_called_with("archives.html",
|
write.assert_called_with("archives.html",
|
||||||
|
|
@ -119,12 +119,12 @@ class TestArticlesGenerator(unittest.TestCase):
|
||||||
|
|
||||||
def test_direct_templates_save_as_modified(self):
|
def test_direct_templates_save_as_modified(self):
|
||||||
|
|
||||||
settings = _DEFAULT_CONFIG.copy()
|
settings = get_settings()
|
||||||
settings['DIRECT_TEMPLATES'] = ['archives']
|
settings['DIRECT_TEMPLATES'] = ['archives']
|
||||||
settings['ARCHIVES_SAVE_AS'] = 'archives/index.html'
|
settings['ARCHIVES_SAVE_AS'] = 'archives/index.html'
|
||||||
generator = ArticlesGenerator(settings, settings, None,
|
generator = ArticlesGenerator(settings, settings, None,
|
||||||
_DEFAULT_CONFIG['THEME'], None,
|
settings['THEME'], None,
|
||||||
_DEFAULT_CONFIG['MARKUP'])
|
settings['MARKUP'])
|
||||||
write = MagicMock()
|
write = MagicMock()
|
||||||
generator.generate_direct_templates(write)
|
generator.generate_direct_templates(write)
|
||||||
write.assert_called_with("archives/index.html",
|
write.assert_called_with("archives/index.html",
|
||||||
|
|
@ -133,12 +133,12 @@ class TestArticlesGenerator(unittest.TestCase):
|
||||||
|
|
||||||
def test_direct_templates_save_as_false(self):
|
def test_direct_templates_save_as_false(self):
|
||||||
|
|
||||||
settings = _DEFAULT_CONFIG.copy()
|
settings = get_settings()
|
||||||
settings['DIRECT_TEMPLATES'] = ['archives']
|
settings['DIRECT_TEMPLATES'] = ['archives']
|
||||||
settings['ARCHIVES_SAVE_AS'] = 'archives/index.html'
|
settings['ARCHIVES_SAVE_AS'] = 'archives/index.html'
|
||||||
generator = ArticlesGenerator(settings, settings, None,
|
generator = ArticlesGenerator(settings, settings, None,
|
||||||
_DEFAULT_CONFIG['THEME'], None,
|
settings['THEME'], None,
|
||||||
_DEFAULT_CONFIG['MARKUP'])
|
settings['MARKUP'])
|
||||||
write = MagicMock()
|
write = MagicMock()
|
||||||
generator.generate_direct_templates(write)
|
generator.generate_direct_templates(write)
|
||||||
write.assert_called_count == 0
|
write.assert_called_count == 0
|
||||||
|
|
@ -174,13 +174,13 @@ class TestPageGenerator(unittest.TestCase):
|
||||||
return distilled
|
return distilled
|
||||||
|
|
||||||
def test_generate_context(self):
|
def test_generate_context(self):
|
||||||
settings = _DEFAULT_CONFIG.copy()
|
settings = get_settings()
|
||||||
|
|
||||||
settings['PAGE_DIR'] = 'TestPages'
|
settings['PAGE_DIR'] = 'TestPages'
|
||||||
settings['DEFAULT_DATE'] = (1970, 01, 01)
|
settings['DEFAULT_DATE'] = (1970, 01, 01)
|
||||||
|
|
||||||
generator = PagesGenerator(settings.copy(), settings, CUR_DIR,
|
generator = PagesGenerator(settings.copy(), settings, CUR_DIR,
|
||||||
_DEFAULT_CONFIG['THEME'], None,
|
settings['THEME'], None,
|
||||||
_DEFAULT_CONFIG['MARKUP'])
|
settings['MARKUP'])
|
||||||
generator.generate_context()
|
generator.generate_context()
|
||||||
pages = self.distill_pages(generator.pages)
|
pages = self.distill_pages(generator.pages)
|
||||||
hidden_pages = self.distill_pages(generator.hidden_pages)
|
hidden_pages = self.distill_pages(generator.hidden_pages)
|
||||||
|
|
@ -214,7 +214,7 @@ class TestTemplatePagesGenerator(unittest.TestCase):
|
||||||
|
|
||||||
def test_generate_output(self):
|
def test_generate_output(self):
|
||||||
|
|
||||||
settings = _DEFAULT_CONFIG.copy()
|
settings = get_settings()
|
||||||
settings['STATIC_PATHS'] = ['static']
|
settings['STATIC_PATHS'] = ['static']
|
||||||
settings['TEMPLATE_PAGES'] = {
|
settings['TEMPLATE_PAGES'] = {
|
||||||
'template/source.html': 'generated/file.html'
|
'template/source.html': 'generated/file.html'
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,13 @@ from filecmp import dircmp
|
||||||
from tempfile import mkdtemp
|
from tempfile import mkdtemp
|
||||||
from shutil import rmtree
|
from shutil import rmtree
|
||||||
import locale
|
import locale
|
||||||
|
import logging
|
||||||
|
|
||||||
from mock import patch
|
from mock import patch
|
||||||
|
|
||||||
from pelican import Pelican
|
from pelican import Pelican
|
||||||
from pelican.settings import read_settings
|
from pelican.settings import read_settings
|
||||||
|
from .support import LogCountHandler
|
||||||
|
|
||||||
CURRENT_DIR = os.path.dirname(os.path.abspath(__file__))
|
CURRENT_DIR = os.path.dirname(os.path.abspath(__file__))
|
||||||
SAMPLES_PATH = os.path.abspath(os.sep.join((CURRENT_DIR, "..", "samples")))
|
SAMPLES_PATH = os.path.abspath(os.sep.join((CURRENT_DIR, "..", "samples")))
|
||||||
|
|
@ -42,6 +44,8 @@ class TestPelican(unittest.TestCase):
|
||||||
# to run pelican in different situations and see how it behaves
|
# to run pelican in different situations and see how it behaves
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
|
self.logcount_handler = LogCountHandler()
|
||||||
|
logging.getLogger().addHandler(self.logcount_handler)
|
||||||
self.temp_path = mkdtemp()
|
self.temp_path = mkdtemp()
|
||||||
self.old_locale = locale.setlocale(locale.LC_ALL)
|
self.old_locale = locale.setlocale(locale.LC_ALL)
|
||||||
locale.setlocale(locale.LC_ALL, 'C')
|
locale.setlocale(locale.LC_ALL, 'C')
|
||||||
|
|
@ -49,6 +53,7 @@ class TestPelican(unittest.TestCase):
|
||||||
def tearDown(self):
|
def tearDown(self):
|
||||||
rmtree(self.temp_path)
|
rmtree(self.temp_path)
|
||||||
locale.setlocale(locale.LC_ALL, self.old_locale)
|
locale.setlocale(locale.LC_ALL, self.old_locale)
|
||||||
|
logging.getLogger().removeHandler(self.logcount_handler)
|
||||||
|
|
||||||
def assertFilesEqual(self, diff):
|
def assertFilesEqual(self, diff):
|
||||||
msg = "some generated files differ from the expected functional " \
|
msg = "some generated files differ from the expected functional " \
|
||||||
|
|
@ -73,6 +78,10 @@ class TestPelican(unittest.TestCase):
|
||||||
pelican.run()
|
pelican.run()
|
||||||
dcmp = dircmp(self.temp_path, os.sep.join((OUTPUT_PATH, "basic")))
|
dcmp = dircmp(self.temp_path, os.sep.join((OUTPUT_PATH, "basic")))
|
||||||
self.assertFilesEqual(recursiveDiff(dcmp))
|
self.assertFilesEqual(recursiveDiff(dcmp))
|
||||||
|
self.assertEqual(self.logcount_handler.count_logs(
|
||||||
|
msg="Unable to find.*skipping url replacement",
|
||||||
|
level=logging.WARNING,
|
||||||
|
), 10, msg="bad number of occurences found for this log")
|
||||||
|
|
||||||
def test_custom_generation_works(self):
|
def test_custom_generation_works(self):
|
||||||
# the same thing with a specified set of settings should work
|
# the same thing with a specified set of settings should work
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue