19 changed files with 1641 additions and 30 deletions
-
23content/blog/03_quadrocopter_en.md
-
9content/blog/04_quadrocopter_en.md
-
16pelicanconf.py
-
288plugins/extended-sitemap/__init__.py
-
81plugins/extended-sitemap/sitemap-stylesheet.xsl
-
264plugins/extended-sitemap/tests/__init__.py
-
64plugins/extended-sitemap/tests/content/articles/article1.md
-
63plugins/extended-sitemap/tests/content/articles/article2.md
-
64plugins/extended-sitemap/tests/content/articles/article3.md
-
83plugins/extended-sitemap/tests/content/pages/page1.md
-
80plugins/extended-sitemap/tests/content/pages/page2.md
-
20plugins/extended-sitemap/tests/content/pages/page3.md
-
13plugins/extended-sitemap/tests/content/pages/page4.md
-
117plugins/extended-sitemap/tests/expected/test_sitemap_structure.xml
-
117plugins/extended-sitemap/tests/expected/test_sitemap_structure_custom_article_url.xml
-
117plugins/extended-sitemap/tests/expected/test_sitemap_structure_direct_templates_1.xml
-
117plugins/extended-sitemap/tests/expected/test_sitemap_structure_direct_templates_2.xml
-
117plugins/extended-sitemap/tests/expected/test_sitemap_structure_subpath.xml
-
18plugins/lightgallery/lightgallery.py
@ -1,9 +0,0 @@ |
|||||
title: quadrocopter2 |
|
||||
date: 2019-05-20 |
|
||||
author: Philipp Schönberger |
|
||||
tags: bataflight, quadrocopter, fpv |
|
||||
category: projects |
|
||||
|
|
||||
|
|
||||
Here you can view the.. latest projects i've started. |
|
||||
|
|
@ -0,0 +1,288 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
from __future__ import unicode_literals, print_function |
||||
|
|
||||
|
import logging |
||||
|
import os |
||||
|
import sys |
||||
|
|
||||
|
from codecs import open as codecs_open |
||||
|
|
||||
|
from pelican import signals |
||||
|
|
||||
|
from pytz import timezone |
||||
|
|
||||
|
logger = logging.getLogger(__name__) |
||||
|
|
||||
|
if sys.version_info >= (3, 0): |
||||
|
from urllib.parse import urljoin |
||||
|
else: |
||||
|
from urlparse import urljoin |
||||
|
|
||||
|
|
||||
|
class ConfigurationError(Exception): |
||||
|
""" |
||||
|
Exception class for wrong configurations. |
||||
|
""" |
||||
|
pass |
||||
|
|
||||
|
|
||||
|
class SitemapGenerator(object): |
||||
|
""" |
||||
|
Class for generating a sitemap.xml. |
||||
|
""" |
||||
|
|
||||
|
xml_wrap = """<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="%(SITEURL)ssitemap-stylesheet.xsl"?> |
||||
|
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> |
||||
|
%(urls)s |
||||
|
</urlset>""" |
||||
|
|
||||
|
template_url = """<url> |
||||
|
{} |
||||
|
</url>""" |
||||
|
|
||||
|
settings_default = { |
||||
|
'priorities': { |
||||
|
'index': 1.0, |
||||
|
'articles': 0.8, |
||||
|
'pages': 0.5, |
||||
|
'others': 0.4 |
||||
|
}, |
||||
|
'changefrequencies': { |
||||
|
'index': 'daily', |
||||
|
'articles': 'weekly', |
||||
|
'pages': 'monthly', |
||||
|
'others': 'monthly', |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
def __init__(self, context, settings, path, theme, output_path, **kwargs): |
||||
|
""" |
||||
|
Initializes the generator class. |
||||
|
:param context: the generated context, mix of settings and transformed content |
||||
|
:type context: dict |
||||
|
:param settings: the pelican project settings |
||||
|
:type settings: dict |
||||
|
:param path: the path to the content files |
||||
|
:type path: str |
||||
|
:param theme: the path to the theme |
||||
|
:type theme: str |
||||
|
:param output_path: the path where the generated output is put |
||||
|
:type output_path: str |
||||
|
:param kwargs: additional keyword arguments |
||||
|
:type kwargs: dict |
||||
|
""" |
||||
|
self.pelican_settings = settings |
||||
|
self.path_content = path |
||||
|
self.path_output = output_path |
||||
|
self.context = context |
||||
|
if settings.get('TIMEZONE', None) is None: |
||||
|
raise ConfigurationError('Please specify the TIMEZONE setting!') |
||||
|
self.timezone = timezone(settings.get('TIMEZONE')) |
||||
|
self.url_site = settings.get('SITEURL') |
||||
|
# Pelican strips off trailing slashes during settings initialization. |
||||
|
# The later used urljoin function strips of path elements not ending with a trailing slash, |
||||
|
# a slash is added here if it is not already present |
||||
|
if not self.url_site.endswith('/'): |
||||
|
self.url_site += '/' |
||||
|
self.settings = settings.get('EXTENDED_SITEMAP_PLUGIN', self.settings_default) |
||||
|
|
||||
|
def generate_output(self, writer): |
||||
|
""" |
||||
|
Generates the sitemap file and the stylesheet file and puts them into the content dir. |
||||
|
:param writer: the writer instance |
||||
|
:type writer: pelican.writers.Writer |
||||
|
""" |
||||
|
# write xml stylesheet |
||||
|
with codecs_open(os.path.join(os.path.dirname(__file__), 'sitemap-stylesheet.xsl'), 'r', encoding='utf-8') as fd_origin: |
||||
|
with codecs_open(os.path.join(self.path_output, 'sitemap-stylesheet.xsl'), 'w', encoding='utf-8') as fd_destination: |
||||
|
xsl = fd_origin.read() |
||||
|
# replace some template markers |
||||
|
# TODO use pelican template magic |
||||
|
xsl = xsl.replace('{{ SITENAME }}', self.context.get('SITENAME')) |
||||
|
fd_destination.write(xsl) |
||||
|
|
||||
|
# will contain the url nodes as text |
||||
|
urls = '' |
||||
|
|
||||
|
# get all articles sorted by time |
||||
|
articles_sorted = sorted(self.context['articles'], key=self.__get_date_key, reverse=True) |
||||
|
|
||||
|
# get all pages with date/modified date |
||||
|
pages_with_date = list( |
||||
|
filter( |
||||
|
lambda p: getattr(p, 'modified', False) or getattr(p, 'date', False), |
||||
|
self.context.get('pages') |
||||
|
) |
||||
|
) |
||||
|
pages_with_date_sorted = sorted(pages_with_date, key=self.__get_date_key, reverse=True) |
||||
|
|
||||
|
# get all pages without date |
||||
|
pages_without_date = list( |
||||
|
filter( |
||||
|
lambda p: getattr(p, 'modified', None) is None and getattr(p, 'date', None) is None, |
||||
|
self.context.get('pages') |
||||
|
) |
||||
|
) |
||||
|
pages_without_date_sorted = sorted(pages_without_date, key=self.__get_title_key, reverse=False) |
||||
|
|
||||
|
# join them, first date sorted, then title sorted |
||||
|
pages_sorted = pages_with_date_sorted + pages_without_date_sorted |
||||
|
|
||||
|
# the landing page |
||||
|
if 'index' in self.context.get('DIRECT_TEMPLATES'): |
||||
|
# assume that the index page has changed with the most current article or page |
||||
|
# use the first article or page if no articles |
||||
|
index_reference = None |
||||
|
if len(articles_sorted) > 0: |
||||
|
index_reference = articles_sorted[0] |
||||
|
elif len(pages_sorted) > 0: |
||||
|
index_reference = pages_sorted[0] |
||||
|
|
||||
|
if index_reference is not None: |
||||
|
urls += self.__create_url_node_for_content( |
||||
|
index_reference, |
||||
|
'index', |
||||
|
url=self.url_site, |
||||
|
) |
||||
|
|
||||
|
# process articles |
||||
|
for article in articles_sorted: |
||||
|
urls += self.__create_url_node_for_content( |
||||
|
article, |
||||
|
'articles', |
||||
|
url=urljoin(self.url_site, article.url) |
||||
|
) |
||||
|
|
||||
|
# process pages |
||||
|
for page in pages_sorted: |
||||
|
urls += self.__create_url_node_for_content( |
||||
|
page, |
||||
|
'pages', |
||||
|
url=urljoin(self.url_site, page.url) |
||||
|
) |
||||
|
|
||||
|
# process category pages |
||||
|
if self.context.get('CATEGORY_URL'): |
||||
|
urls += self.__process_url_wrapper_elements(self.context.get('categories')) |
||||
|
|
||||
|
# process tag pages |
||||
|
if self.context.get('TAG_URL'): |
||||
|
urls += self.__process_url_wrapper_elements(sorted(self.context.get('tags'), key=lambda x: x[0].name)) |
||||
|
|
||||
|
# process author pages |
||||
|
if self.context.get('AUTHOR_URL'): |
||||
|
urls += self.__process_url_wrapper_elements(self.context.get('authors')) |
||||
|
|
||||
|
# handle all DIRECT_TEMPLATES but "index" |
||||
|
for direct_template in list(filter(lambda p: p != 'index', self.context.get('DIRECT_TEMPLATES'))): |
||||
|
# we assume the modification date of the last article as modification date for the listings of |
||||
|
# categories, authors and archives (all values of DIRECT_TEMPLATES but "index") |
||||
|
modification_time = getattr(articles_sorted[0], 'modified', getattr(articles_sorted[0], 'date', None)) |
||||
|
url = self.__get_direct_template_url(direct_template) |
||||
|
urls += self.__create_url_node_for_content(None, 'others', url, modification_time) |
||||
|
|
||||
|
# write the final sitemap file |
||||
|
with codecs_open(os.path.join(self.path_output, 'sitemap.xml'), 'w', encoding='utf-8') as fd: |
||||
|
fd.write(self.xml_wrap % { |
||||
|
'SITEURL': self.url_site, |
||||
|
'urls': urls |
||||
|
}) |
||||
|
|
||||
|
def __get_direct_template_url(self, name): |
||||
|
""" |
||||
|
Returns the URL for the given DIRECT_TEMPLATE name. |
||||
|
Resolution order is: |
||||
|
1. ${DIRECT_TEMPLATE}_URL (custom property, no Pelican default) |
||||
|
2. ${DIRECT_TEMPLATE}_SAVE_AS |
||||
|
3. Default path |
||||
|
:param name: name of the direct template |
||||
|
:return: str |
||||
|
""" |
||||
|
name_upper = name.upper() |
||||
|
url = self.pelican_settings.get( |
||||
|
'{}_URL'.format(name_upper), |
||||
|
self.pelican_settings.get( |
||||
|
'{}_SAVE_AS'.format(name_upper), |
||||
|
'{}.html'.format(name) |
||||
|
) |
||||
|
) |
||||
|
return urljoin(self.url_site, url) |
||||
|
|
||||
|
def __process_url_wrapper_elements(self, elements): |
||||
|
""" |
||||
|
Creates the url nodes for pelican.urlwrappers.Category and pelican.urlwrappers.Tag. |
||||
|
:param elements: list of wrapper elements |
||||
|
:type elements: list |
||||
|
:return: the processes urls as HTML |
||||
|
:rtype: str |
||||
|
""" |
||||
|
urls = '' |
||||
|
for url_wrapper, articles in elements: |
||||
|
urls += self.__create_url_node_for_content( |
||||
|
url_wrapper, |
||||
|
'others', |
||||
|
url=urljoin(self.url_site, url_wrapper.url), |
||||
|
modification_time=self.__get_date_key(sorted(articles, key=self.__get_date_key, reverse=True)[0]) |
||||
|
) |
||||
|
return urls |
||||
|
|
||||
|
def __create_url_node_for_content(self, content, content_type, url=None, modification_time=None): |
||||
|
""" |
||||
|
Creates the required <url> node for the sitemap xml. |
||||
|
:param content: the content class to handle |
||||
|
:type content: pelican.contents.Content | None |
||||
|
:param content_type: the type of the given content to match settings.EXTENDED_SITEMAP_PLUGIN |
||||
|
:type content_type; str |
||||
|
:param url; if given, the URL to use instead of the url of the content instance |
||||
|
:type url: str |
||||
|
:param modification_time: the modification time of the url, will be used instead of content date if given |
||||
|
:type modification_time: datetime.datetime | None |
||||
|
:returns: the text node |
||||
|
:rtype: str |
||||
|
""" |
||||
|
loc = url |
||||
|
if loc is None: |
||||
|
loc = urljoin(self.url_site, self.context.get('ARTICLE_URL').format(**content.url_format)) |
||||
|
lastmod = None |
||||
|
if modification_time is not None: |
||||
|
lastmod = modification_time.strftime('%Y-%m-%d') |
||||
|
else: |
||||
|
if content is not None: |
||||
|
if getattr(content, 'modified', None) is not None: |
||||
|
lastmod = getattr(content, 'modified').strftime('%Y-%m-%d') |
||||
|
elif getattr(content, 'date', None) is not None: |
||||
|
lastmod = getattr(content, 'date').strftime('%Y-%m-%d') |
||||
|
|
||||
|
output = "<loc>{}</loc>".format(loc) |
||||
|
if lastmod is not None: |
||||
|
output += "\n<lastmod>{}</lastmod>".format(lastmod) |
||||
|
output += "\n<changefreq>{}</changefreq>".format(self.settings.get('changefrequencies').get(content_type)) |
||||
|
output += "\n<priority>{:.2f}</priority>".format(self.settings.get('priorities').get(content_type)) |
||||
|
|
||||
|
return self.template_url.format(output) |
||||
|
|
||||
|
@staticmethod |
||||
|
def __get_date_key(obj): |
||||
|
return getattr(obj, 'modified', None) or obj.date |
||||
|
|
||||
|
@staticmethod |
||||
|
def __get_title_key(obj): |
||||
|
return getattr(obj, 'title') |
||||
|
|
||||
|
|
||||
|
def get_generators(generators): |
||||
|
""" |
||||
|
Returns the generators of this plugin, |
||||
|
:param generators: current generators |
||||
|
:type generators: pelican.Pelican |
||||
|
:returns: the sitemap generator type |
||||
|
:rtype: type |
||||
|
""" |
||||
|
return SitemapGenerator |
||||
|
|
||||
|
|
||||
|
def register(): |
||||
|
""" |
||||
|
Registers the sitemap generator. |
||||
|
""" |
||||
|
signals.get_generators.connect(get_generators) |
@ -0,0 +1,81 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<xsl:stylesheet version="2.0" |
||||
|
xmlns:html="http://www.w3.org/TR/REC-html40" |
||||
|
xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" |
||||
|
xmlns:sitemap="http://www.sitemaps.org/schemas/sitemap/0.9" |
||||
|
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> |
||||
|
<xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/> |
||||
|
<xsl:template match="/"> |
||||
|
<html xmlns="http://www.w3.org/1999/xhtml"> |
||||
|
<head> |
||||
|
<title>XML Sitemap for {{ SITENAME }}</title> |
||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
||||
|
<style type="text/css"> |
||||
|
body { |
||||
|
background: #fff; |
||||
|
color: #333; |
||||
|
font-family: Helvetica, Arial, sans-serif; |
||||
|
font-size: 12px; |
||||
|
} |
||||
|
p { |
||||
|
margin: 0; |
||||
|
} |
||||
|
table { |
||||
|
margin-top: 20px; |
||||
|
} |
||||
|
table tr.odd { |
||||
|
background-color: #eee; |
||||
|
} |
||||
|
table tr th { |
||||
|
font-size: 11px; |
||||
|
text-align: left; |
||||
|
} |
||||
|
table tr td { |
||||
|
font-size: 11px; |
||||
|
padding-right: 20px; |
||||
|
} |
||||
|
</style> |
||||
|
</head> |
||||
|
<body> |
||||
|
<h1>XML Sitemap for {{ SITENAME }}</h1> |
||||
|
<p>Generated by <a href="https://pypi.python.org/pypi/pelican-extended-sitemap">extended-sitemap plugin</a> for <a href="http://docs.getpelican.com/">Pelican</a>.</p> |
||||
|
<p>More about sitemaps can be found on <a href="http://sitemaps.org">sitemaps.org</a></p> |
||||
|
<p>URLs contained in this sitemap: <xsl:value-of select="count(sitemap:urlset/sitemap:url)"/></p> |
||||
|
<table cellspacing="0"> |
||||
|
<thead> |
||||
|
<tr> |
||||
|
<th>URL</th> |
||||
|
<th>Priority</th> |
||||
|
<th>Change Frequency</th> |
||||
|
<th>Last Change</th> |
||||
|
</tr> |
||||
|
</thead> |
||||
|
<tbody> |
||||
|
<xsl:for-each select="sitemap:urlset/sitemap:url"> |
||||
|
<tr> |
||||
|
<xsl:if test="position() mod 2 = 1"> |
||||
|
<xsl:attribute name="class">odd</xsl:attribute> |
||||
|
</xsl:if> |
||||
|
<td> |
||||
|
<xsl:variable name="url"> |
||||
|
<xsl:value-of select="sitemap:loc"/> |
||||
|
</xsl:variable> |
||||
|
<a href="{$url}"><xsl:value-of select="sitemap:loc"/></a> |
||||
|
</td> |
||||
|
<td> |
||||
|
<xsl:value-of select="concat(sitemap:priority*100,'%')"/> |
||||
|
</td> |
||||
|
<td> |
||||
|
<xsl:value-of select="sitemap:changefreq"/> |
||||
|
</td> |
||||
|
<td> |
||||
|
<xsl:value-of select="sitemap:lastmod"/> |
||||
|
</td> |
||||
|
</tr> |
||||
|
</xsl:for-each> |
||||
|
</tbody> |
||||
|
</table> |
||||
|
</body> |
||||
|
</html> |
||||
|
</xsl:template> |
||||
|
</xsl:stylesheet> |
@ -0,0 +1,264 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
from __future__ import unicode_literals, print_function |
||||
|
|
||||
|
import filecmp |
||||
|
import locale |
||||
|
import os |
||||
|
import re |
||||
|
import subprocess |
||||
|
import sys |
||||
|
import unittest |
||||
|
|
||||
|
from extended_sitemap import ConfigurationError |
||||
|
|
||||
|
from functools import wraps |
||||
|
|
||||
|
from tempfile import mkdtemp |
||||
|
|
||||
|
from pelican import Pelican |
||||
|
from pelican.settings import read_settings |
||||
|
|
||||
|
from six import StringIO |
||||
|
|
||||
|
# used paths |
||||
|
CURRENT_DIR = os.path.dirname(os.path.abspath(__file__)) |
||||
|
CONTENT_DIR = os.path.abspath(os.path.join(CURRENT_DIR, 'content')) |
||||
|
EXPECTED_DIR = os.path.abspath(os.path.join(CURRENT_DIR, 'expected')) |
||||
|
OUTPUT_PATH = os.path.abspath(os.path.join(CURRENT_DIR, 'output')) |
||||
|
|
||||
|
|
||||
|
def isplit(s, sep=None): |
||||
|
"""Behaves like str.split but returns a generator instead of a list. |
||||
|
>>> list(isplit('\tUse the force\n')) == '\tUse the force\n'.split() |
||||
|
True |
||||
|
>>> list(isplit('\tUse the force\n')) == ['Use', 'the', 'force'] |
||||
|
True |
||||
|
>>> (list(isplit('\tUse the force\n', "e")) |
||||
|
== '\tUse the force\n'.split("e")) |
||||
|
True |
||||
|
>>> list(isplit('Use the force', "e")) == 'Use the force'.split("e") |
||||
|
True |
||||
|
>>> list(isplit('Use the force', "e")) == ['Us', ' th', ' forc', ''] |
||||
|
True |
||||
|
""" |
||||
|
sep, hardsep = r'\s+' if sep is None else re.escape(sep), sep is not None |
||||
|
exp, pos, l = re.compile(sep), 0, len(s) |
||||
|
while True: |
||||
|
m = exp.search(s, pos) |
||||
|
if not m: |
||||
|
if pos < l or hardsep: |
||||
|
# ^ mimic "split()": ''.split() returns [] |
||||
|
yield s[pos:] |
||||
|
break |
||||
|
start = m.start() |
||||
|
if pos < start or hardsep: |
||||
|
# ^ mimic "split()": includes trailing empty string |
||||
|
yield s[pos:start] |
||||
|
pos = m.end() |
||||
|
|
||||
|
|
||||
|
def mute(returns_output=False): |
||||
|
"""Decorate a function that prints to stdout, intercepting the output. |
||||
|
If "returns_output" is True, the function will return a generator |
||||
|
yielding the printed lines instead of the return values. |
||||
|
The decorator literally hijack sys.stdout during each function |
||||
|
execution, so be careful with what you apply it to. |
||||
|
>>> def numbers(): |
||||
|
print "42" |
||||
|
print "1984" |
||||
|
... |
||||
|
>>> numbers() |
||||
|
42 |
||||
|
1984 |
||||
|
>>> mute()(numbers)() |
||||
|
>>> list(mute(True)(numbers)()) |
||||
|
['42', '1984'] |
||||
|
""" |
||||
|
|
||||
|
def decorator(func): |
||||
|
|
||||
|
@wraps(func) |
||||
|
def wrapper(*args, **kwargs): |
||||
|
|
||||
|
saved_stdout = sys.stdout |
||||
|
sys.stdout = StringIO() |
||||
|
|
||||
|
try: |
||||
|
out = func(*args, **kwargs) |
||||
|
if returns_output: |
||||
|
out = isplit(sys.stdout.getvalue().strip()) |
||||
|
finally: |
||||
|
sys.stdout = saved_stdout |
||||
|
|
||||
|
return out |
||||
|
|
||||
|
return wrapper |
||||
|
|
||||
|
return decorator |
||||
|
|
||||
|
|
||||
|
class FileComparisonTest(unittest.TestCase): |
||||
|
""" |
||||
|
Unittest class with possibility to assert equal file contents. |
||||
|
""" |
||||
|
|
||||
|
def assertFileContentEquals(self, path_file_expected, path_file_test): |
||||
|
""" |
||||
|
Asserts the file contents to be equal. |
||||
|
:param path_file_expected: path to the file with the expected content |
||||
|
:type path_file_expected: str |
||||
|
:param path_file_test: path to the file to test |
||||
|
:type path_file_test: str |
||||
|
""" |
||||
|
if not filecmp.cmp(path_file_expected, path_file_test): |
||||
|
msg_fail = 'File content of %(filename)s does not match expected content!' % {'filename': path_file_test} |
||||
|
|
||||
|
# if there is git and git diff works for both files, append the file diff to the fail message |
||||
|
try: |
||||
|
out, err = subprocess.Popen( |
||||
|
['git', 'diff', '--minimal', '--no-color', '--no-ext-diff', '--exit-code', '-w', path_file_expected, path_file_test], |
||||
|
stdout=subprocess.PIPE, |
||||
|
stderr=subprocess.PIPE, |
||||
|
).communicate() |
||||
|
if len(err) == 0: |
||||
|
msg_fail += '\n\n' + out.decode('utf-8') |
||||
|
except OSError: |
||||
|
# if there is no git, just don't output the diff |
||||
|
pass |
||||
|
|
||||
|
self.fail(msg_fail) |
||||
|
|
||||
|
|
||||
|
class ExtendedSitemapTest(FileComparisonTest): |
||||
|
|
||||
|
def setUp(self): |
||||
|
self.path_temp = mkdtemp(prefix='extended_sitemap_tests.') |
||||
|
self.path_cache = mkdtemp(prefix='extended_sitemap_cache.') |
||||
|
|
||||
|
# default minimal configuration for pelican in test context |
||||
|
self.settings_default = { |
||||
|
'PAGE_DIR': os.path.join(CONTENT_DIR, 'pages'), |
||||
|
'ARTICLE_DIR': os.path.join(CONTENT_DIR, 'articles'), |
||||
|
'PATH': CONTENT_DIR, |
||||
|
'OUTPUT_PATH': self.path_temp, |
||||
|
'CACHE_PATH': self.path_cache, |
||||
|
'LOCALE': locale.normalize('en_US'), |
||||
|
'SITEURL': 'http://example.com', |
||||
|
'PLUGIN_PATH': os.path.join(CURRENT_DIR, '..'), |
||||
|
'PLUGINS': ['extended_sitemap'], |
||||
|
} |
||||
|
|
||||
|
def __execute_pelican(self, settings_override=None): |
||||
|
""" |
||||
|
Executes pelican. Uses the minimal config of self.settings_default (that will fail!) merged with the given additional settings. |
||||
|
:param settings_override: dictionary with pelican setting values to set |
||||
|
:type settings_override: dict |
||||
|
""" |
||||
|
if not settings_override: |
||||
|
settings_override = {} |
||||
|
|
||||
|
settings = self.settings_default.copy() |
||||
|
settings.update(settings_override) |
||||
|
|
||||
|
pelican_settings = read_settings( |
||||
|
path=None, |
||||
|
override=settings |
||||
|
) |
||||
|
pelican = Pelican(settings=pelican_settings) |
||||
|
pelican.run() |
||||
|
|
||||
|
def test_timezone_missing(self): |
||||
|
""" |
||||
|
As the TIMEZONE settings is necessary to create timezone based date value, ensure the configuration exception is raised if it is not configured. |
||||
|
""" |
||||
|
self.assertRaises(ConfigurationError, self.__execute_pelican) |
||||
|
|
||||
|
def test_sitemap_structure(self): |
||||
|
""" |
||||
|
Tests basic structure of generated sitemap. |
||||
|
""" |
||||
|
self.__execute_pelican( |
||||
|
settings_override={ |
||||
|
'TIMEZONE': 'Europe/Berlin', |
||||
|
} |
||||
|
) |
||||
|
self.assertFileContentEquals( |
||||
|
os.path.join(EXPECTED_DIR, 'test_sitemap_structure.xml'), |
||||
|
os.path.join(self.path_temp, 'sitemap.xml') |
||||
|
) |
||||
|
|
||||
|
def test_sitemap_structure_subpaths(self): |
||||
|
""" |
||||
|
Tests basic structure of generated sitemap with subpath in domain. |
||||
|
""" |
||||
|
# issue #2 |
||||
|
self.__execute_pelican( |
||||
|
settings_override={ |
||||
|
'TIMEZONE': 'Europe/Berlin', |
||||
|
'SITEURL': 'http://example.com/subpath', |
||||
|
} |
||||
|
) |
||||
|
self.assertFileContentEquals( |
||||
|
os.path.join(EXPECTED_DIR, 'test_sitemap_structure_subpath.xml'), |
||||
|
os.path.join(self.path_temp, 'sitemap.xml') |
||||
|
) |
||||
|
|
||||
|
def test_sitemap_structure_custom_article_url(self): |
||||
|
""" |
||||
|
Tests basic structure of generated sitemap with customized ARTICLE_URL and ARTICLE_SAVE_AS settings. |
||||
|
""" |
||||
|
# issue #2 |
||||
|
self.__execute_pelican( |
||||
|
settings_override={ |
||||
|
'TIMEZONE': 'Europe/Berlin', |
||||
|
'ARTICLE_URL': 'customarticles/{date:%Y}/{date:%b}/{date:%d}/{slug}/', |
||||
|
'ARTICLE_SAVE_AS': '{slug}.custom.html', |
||||
|
} |
||||
|
) |
||||
|
self.assertFileContentEquals( |
||||
|
os.path.join(EXPECTED_DIR, 'test_sitemap_structure_custom_article_url.xml'), |
||||
|
os.path.join(self.path_temp, 'sitemap.xml') |
||||
|
) |
||||
|
|
||||
|
def test_sitemap_structure_with_custom_direct_templates_filenames(self): |
||||
|
""" |
||||
|
Tests sitemap structure with custom %s_SAVE_AS values for DIRECT_TEMPLATES. |
||||
|
Source: https://github.com/dArignac/pelican-extended-sitemap/issues/14 |
||||
|
""" |
||||
|
self.__execute_pelican( |
||||
|
settings_override={ |
||||
|
'TIMEZONE': 'Europe/Berlin', |
||||
|
'TAGS_SAVE_AS': 'abc/tags.html', |
||||
|
'CATEGORIES_SAVE_AS': 'cats/meow/something.txt', |
||||
|
'AUTHORS_SAVE_AS': 'those-writers.html', |
||||
|
'ARCHIVES_SAVE_AS': 'our-curated-library.html', |
||||
|
} |
||||
|
) |
||||
|
self.assertFileContentEquals( |
||||
|
os.path.join(EXPECTED_DIR, 'test_sitemap_structure_direct_templates_1.xml'), |
||||
|
os.path.join(self.path_temp, 'sitemap.xml') |
||||
|
) |
||||
|
|
||||
|
def test_sitemap_structure_with_custom_direct_templates_urls(self): |
||||
|
""" |
||||
|
Tests sitemap structure with custom %s_URL values for DIRECT_TEMPLATES. |
||||
|
Source: https://github.com/dArignac/pelican-extended-sitemap/issues/15 |
||||
|
""" |
||||
|
self.__execute_pelican( |
||||
|
settings_override={ |
||||
|
'TIMEZONE': 'Europe/Berlin', |
||||
|
'TAGS_URL': 'abc/tags', |
||||
|
'CATEGORIES_URL': 'cats/meow', |
||||
|
'AUTHORS_URL': 'authors/all', |
||||
|
'ARCHIVES_URL': 'lib/the-archive/list/', |
||||
|
# also define the SAVE_AS to test correct resolution sorting |
||||
|
'TAGS_SAVE_AS': 'abc/tags.html', |
||||
|
'CATEGORIES_SAVE_AS': 'cats/meow/something.txt', |
||||
|
'AUTHORS_SAVE_AS': 'those-writers.html', |
||||
|
'ARCHIVES_SAVE_AS': 'our-curated-library.html', |
||||
|
} |
||||
|
) |
||||
|
self.assertFileContentEquals( |
||||
|
os.path.join(EXPECTED_DIR, 'test_sitemap_structure_direct_templates_2.xml'), |
||||
|
os.path.join(self.path_temp, 'sitemap.xml') |
||||
|
) |
@ -0,0 +1,64 @@ |
|||||
|
Title: Article One |
||||
|
Date: 2007-11-19 21:16 |
||||
|
Author: Dexter |
||||
|
Category: Sample Category 1 |
||||
|
Tags: tag0, tag1 |
||||
|
Slug: article-one |
||||
|
|
||||
|
# Morientibus virum |
||||
|
|
||||
|
## Natura auctor ne Medea summum inter motu |
||||
|
|
||||
|
Lorem markdownum urbis dedisset tyranni debebit, remorata harpen volatilis |
||||
|
tellus, imperet quid quaedam [te](http://imgur.com/) signa curis. Sole pro vis, |
||||
|
nil iras lentae greges sine. Ad ducat. |
||||
|
|
||||
|
*Huic arsit*. Secum et *iuga* et mitis hoc orbem horror, at? Turba Rhodosque et |
||||
|
lacer tamen nobis media viae datque umbras ardua spectare. Reliquit de fixo |
||||
|
coniuge rettulit dat: manent memorabile natus alte fuit pressus, illo ad duratur |
||||
|
ponunt dedit. |
||||
|
|
||||
|
> Ultimus prior mater, obstipuit convulso circumlita deorum nec, tremulis, |
||||
|
> conlectae. Manifesta solis, facturus in [humi](http://www.wtfpl.net/) signa |
||||
|
> vidi: sint. Temptat doluit, *medium*, nos erat: utque *suo alta* longoque |
||||
|
> astris addiderat mutabile. |
||||
|
|
||||
|
## Clymene optima huic est sanguine caelique malae |
||||
|
|
||||
|
Et thymo adulter, orbem nutritaque undam puellae perluitur in post primo meritum |
||||
|
canes illo! Macies ego telique debet, operum oculi? |
||||
|
|
||||
|
var ppl = printer_unicode_bitmap; |
||||
|
mail *= autoresponderVlePower; |
||||
|
if (696041 + bridgeUddi) { |
||||
|
agp += 275126; |
||||
|
plain_ad_dot += input; |
||||
|
} else { |
||||
|
sourceHypertextReciprocal(bridge_hdd_left(io_ppl), mp); |
||||
|
t_crossplatform *= pdf_client_management; |
||||
|
} |
||||
|
|
||||
|
Eris munire, sed Phoebi **caelum senserat**, turris caput auxiliaribus novos |
||||
|
altissima? [Fatus diu](http://zeus.ugent.be/) parte perdere texta adsensere |
||||
|
aspergine adiecit revolvor recto in coniugis uterque trepidare harum summa. |
||||
|
Istis quae morientia tu silentia illas quacumque quendam! Non in non ex *locat |
||||
|
qui*, cum carminaque celerique Pyrame Iphinoum et! Tenuit carminaque cornua, |
||||
|
contudit fictilibus socialis Haemonia **faciat ferunt**; fores leves non |
||||
|
multisque. |
||||
|
|
||||
|
- Alta amet et circumstant tenus placidam nemorumque |
||||
|
- Illic illa aut |
||||
|
- Frontem sua |
||||
|
- Quod sed suo addidit corpusque enim habitat |
||||
|
- Crimen ad transit |
||||
|
|
||||
|
Stridula per suam, ferendo et refert ille, Acheronte? Vetat saevit, isse fortes |
||||
|
ullo tellus refert deorum dedit petendo longa non imago premebat traiecti. |
||||
|
Firmas [echidnis hiatu oculosque](http://www.thesecretofinvisibility.com/) |
||||
|
Ausoniae procul, in fuit excussit aureus, si quod in canistris et stellis *et*. |
||||
|
Rector iudicium pectore subitarum, **deum nobis virga** mitissima communis. |
||||
|
|
||||
|
[Fatus diu]: http://zeus.ugent.be/ |
||||
|
[echidnis hiatu oculosque]: http://www.thesecretofinvisibility.com/ |
||||
|
[humi]: http://www.wtfpl.net/ |
||||
|
[te]: http://imgur.com/ |
@ -0,0 +1,63 @@ |
|||||
|
Title: Article Two |
||||
|
Date: 2011-01-30 18:00 |
||||
|
Author: Johnny |
||||
|
Category: Sample Category 2 |
||||
|
Tags: tag1, tag2 |
||||
|
Slug: article-two |
||||
|
|
||||
|
|
||||
|
# Huic veros narrata dictis |
||||
|
|
||||
|
## Vani omnes gener arceat quicquam et caelo |
||||
|
|
||||
|
Lorem markdownum incerto dicta auctoribus, sanguine ille nostri in sanguine quam |
||||
|
est ut letalem deorum: quarum. In extrema versos protinus aetas. Tremit |
||||
|
prosternite malo ut tardata saucia et quem ultima? Sunt non tantus, illi per, |
||||
|
**hortaturque** illa tibi. Tigres precatur fulvae, pietas quam vulnus nec |
||||
|
*negat* devicto aera facere. |
||||
|
|
||||
|
push_hover(worm_defragment(wampDac, up / 36)); |
||||
|
design_primary_default /= ole; |
||||
|
if (-3) { |
||||
|
jfs += extranet + 37; |
||||
|
} else { |
||||
|
white.web += 3 / leopardSystem * 1; |
||||
|
name_cyberbullying_host -= osi; |
||||
|
} |
||||
|
driveProgramPerl += -2 + 1 + graymail; |
||||
|
|
||||
|
In patriaque aversa: et nostris coepi animans retinere surgit? Arethusa **utque |
||||
|
ut** vulnere oppositoque salutem erat tremescere fores clamare exstinctum supra: |
||||
|
frustra circumspice fecisse. Scylla meae **illo dato** permanet in |
||||
|
[cum](http://www.wedrinkwater.com/), quo Canentem, deo. Recurvam cauda |
||||
|
**fatisque totidem** durisque precatur Salamis vellera manusque. Ne nec mutatus |
||||
|
madidos oculis, Iris [habet](http://eelslap.com/) patet quondam: [deus |
||||
|
ille](http://seenly.com/) homini vera; est una merito non. |
||||
|
|
||||
|
## Nunc est genetrix |
||||
|
|
||||
|
Tanta infans, origo percutit templis differt rumpere! Saturno molibar vestigia |
||||
|
sua eandem procorum, infelix enses iussit peiora longa Regi depositum; dum |
||||
|
pronus toto munere ille. |
||||
|
|
||||
|
Gelido contra quod veneratur secum? Cum putet imum ora ignoscite, odorant, |
||||
|
exactum adde Atalanta parvae nequeat, venerantur nuntia Caras pugnat. Novitate |
||||
|
et iniquis ruricolam quadrupedes et moenia proceres et totaeque delapsus |
||||
|
Medusaei posset, hoc bis quoque est crepitantibus. Malorum amores nymphe moves |
||||
|
**caput** nec, nos a rapitur pariter. |
||||
|
|
||||
|
- Saevus Minos potiuntur delapsa virisque adparentia belli |
||||
|
- Nervosus edita Idaeumque legit subiectum nec |
||||
|
- Hac quidquid lacrimaeque eodem |
||||
|
- Undas ferens |
||||
|
- Curvis deiectoque excusare sagittas illic |
||||
|
|
||||
|
Hunc inritans Phylius est quam **genuit** praecepta ad tempora. Pars parenti. |
||||
|
Quae quo urbis haec tumulos, a tincta hi parte habebat; di inque, modo licet. |
||||
|
Diversa servata penna certe et, actorum aras feram [me mori |
||||
|
satis](http://news.ycombinator.com/). An sine, comminus. |
||||
|
|
||||
|
[cum]: http://www.wedrinkwater.com/ |
||||
|
[deus ille]: http://seenly.com/ |
||||
|
[habet]: http://eelslap.com/ |
||||
|
[me mori satis]: http://news.ycombinator.com/ |
@ -0,0 +1,64 @@ |
|||||
|
Title: Article Three |
||||
|
Date: 2014-05-21 13:49 |
||||
|
Modified: 2014-06-01 10:12 |
||||
|
Author: Miri |
||||
|
Category: Sample Category 3 |
||||
|
Tags: tag3, tag4 |
||||
|
Slug: article-three |
||||
|
|
||||
|
|
||||
|
# Ipsi mutato nec Clyton suspiria ex |
||||
|
|
||||
|
## Honores iuventae |
||||
|
|
||||
|
Lorem markdownum puerilibus annis, illa Iphis Proximus discordia favet huic: |
||||
|
cum. Nec alta lecto arma Delonque: ac dixit lacrimis sit faciat, arcem lignum |
||||
|
Ithaceque? |
||||
|
|
||||
|
## Sic pisce Dicta si |
||||
|
|
||||
|
Parenti suasit, est pomi poposcerit cera. Superis cruentum grandine *crescunt |
||||
|
fatebitur non* iacta celsum; vindicta Echion, adest? Bis ita non, in mandata |
||||
|
totiens differt trepido fervet. |
||||
|
|
||||
|
Causa percutit hostem ferax geminique cognoverat virga, vir et idem, disiunxisse |
||||
|
in letalis stillanti. Fatentem in flenda Charybdin simulacra locis nec vertice |
||||
|
prima esse Plena dum! Collis ferro, est mihi edaci pius laberis ut curribus |
||||
|
corpus distinguunt callem gelidumque aranea semper? O mens Idaei rerum an tunc, |
||||
|
baculisque inpar **tempusque redditur**. Arte en essent tamen homines inplent |
||||
|
orantem perstat? |
||||
|
|
||||
|
## Et et mitissimus amor |
||||
|
|
||||
|
Metuque solvit in medio peremptum nubila verti circumdata decus. Suo an morae |
||||
|
omnia **locum**: ecce patrem ostendit invita [restabat](http://zombo.com/); in |
||||
|
minus; nisi frustra. Animi patrem sui irascere tori ignavi, nec tuta thalamosque |
||||
|
quisque, tum. Bis nec arator coniecto luctu, multi est **lumina sui** rogaberis |
||||
|
regis. |
||||
|
|
||||
|
ugc.eps(process_lossless_freeware(hover), sourceLeftRemote + internic / -1, |
||||
|
computer); |
||||
|
if (gigoRemote) { |
||||
|
fsb = appleWebmaster(system, architecture + boot_mini, mnemonicUsbGigo); |
||||
|
menu = 5; |
||||
|
terminal_ad_matrix(download); |
||||
|
} |
||||
|
card.filePciSubdirectory(readme(user, 2) + 1); |
||||
|
|
||||
|
## Temone ego |
||||
|
|
||||
|
Cupido minus saepe genas pedes Echion rudem, cognovit timorem, utile consuescit |
||||
|
prius. Regum nec puer Bactrius non novercam humi contingere: superatae gravis. |
||||
|
Quae inde luctus aristas, aut te vellera ignara ipsa ruptosque decus Nabataeaque |
||||
|
invisa, exstinctum? Si quos umeri ab *inque Cypriae* Clymene quod famulasque |
||||
|
odore nobilis de. |
||||
|
|
||||
|
1. Alas cadunt rore artes amans fulmen |
||||
|
2. Et non nunc urbes segetis in animosque |
||||
|
3. Propinquos medio agit |
||||
|
|
||||
|
Conatur saepe, detrahe manusque! Ut adde, lina Aesacon anhelitus stravimus |
||||
|
saepe! Cauda profundo: sibi et forti tempora! Ego Medusaei; acre **iter**, annos |
||||
|
lumina dubioque clipeoque at orbem: illis regia pleno cutis comitem Cytherea. |
||||
|
|
||||
|
[restabat]: http://zombo.com/ |
@ -0,0 +1,83 @@ |
|||||
|
Title: Page One |
||||
|
Date: 2007-11-13 13:57 |
||||
|
Author: Gilvan |
||||
|
Slug: page-one |
||||
|
|
||||
|
# Ita e subsunt audet in expulit |
||||
|
|
||||
|
## Veneno ducumque et crimine atque |
||||
|
|
||||
|
Lorem markdownum. Iubeoque [in](http://zeus.ugent.be/) locuta tulit, quaeque ego |
||||
|
animi, et fatebor! |
||||
|
|
||||
|
var username_scalable = circuit_clock(faviconMemoryRuntime); |
||||
|
if (dbms_insertion.barProgramCodec(http + logic, snapshot(-3), san)) { |
||||
|
bookmark_tiff = gatewayCross.input_bsod(url_batch_rt, cyberspace( |
||||
|
supercomputerStorage, modeOspf, twain_express_snapshot), |
||||
|
browserOlap.balance(-5, margin)); |
||||
|
vpn_console_matrix -= tigerWhoisReal; |
||||
|
} else { |
||||
|
p = seo_mainframe_keywords(iterationBus / 880060); |
||||
|
express_isa_desktop += sdsl + errorUsername; |
||||
|
mac += redundancy + clone * jpeg_cd; |
||||
|
} |
||||
|
mail += icmpGammaTypeface; |
||||
|
if (interactive > grayscaleIrqBsod) { |
||||
|
digital_traceroute_raw.pcb(sidebar_virtual_third, tag_koffice, |
||||
|
thick_mail_drive / 2); |
||||
|
} else { |
||||
|
viral_class += adsl; |
||||
|
key(phpBarAssociation, lion); |
||||
|
} |
||||
|
virtualizationVeronicaCharacter.protocol(recursive.supercomputer_raw( |
||||
|
trojan_storage, imapParallelHyperlink)); |
||||
|
|
||||
|
Fungi rustice iubet inlimis notam dextram nymphaeque nec, **ille Asterien |
||||
|
favent** fuit, esset. Cum ferre, regnum pharetra luet probatis et Somnus |
||||
|
Pallantias enim. Communes coniugis laetitiae huius ergo vulnera per, et reliquit |
||||
|
solvo pulchraque erat. Haberent terga. Ire Phrygiis canum [crimina |
||||
|
in](http://www.uselessaccount.com/) clauso munera corpora portasque perque |
||||
|
tauros, amorem sacraque. |
||||
|
|
||||
|
definition_applet_gigabyte -= function_chip_expansion.bcc(87) + |
||||
|
processMegabitControl.sdram(uri, flash_pppoe + alertFullPci, |
||||
|
client_upnp); |
||||
|
parseInstall -= dialog - base + 3; |
||||
|
ring_ddr(passive(lossy, 1 + -3, pointProgrammingP + openServicesSample), |
||||
|
drop + 3, cloneActive); |
||||
|
menu_pharming = app; |
||||
|
matrixVci(model * aluLosslessTunneling); |
||||
|
|
||||
|
## Aliis auro promissi sibila |
||||
|
|
||||
|
Nunc claro, quae Sybarin somnis. Modo ortus demptos nostrae at herba, parabat. |
||||
|
Factoque dixit levarit tenet dubitat genitor modico! Ad male inter. |
||||
|
|
||||
|
Nec germanaeque qui ore una spectat pectore, in ora amplexus prehensis in. Tenus |
||||
|
Danaam haec! Dea costis tacitaque cultique frater. |
||||
|
|
||||
|
spreadsheet.transfer(remoteFileParameter, cifsCacheTopology); |
||||
|
primary_ttl_terminal.pda(duplex_rtf); |
||||
|
if (directoryServiceDv) { |
||||
|
internalCopyrightRss(driverCopyright, 81, start); |
||||
|
quadCms = favicon_disk - guid; |
||||
|
} else { |
||||
|
streaming_gateway(lamp_import, pmu_hsf_thumbnail, lock_ppi + data); |
||||
|
unixMini += 1 + kibibyteListservNoc + bar_spoofing_qwerty; |
||||
|
} |
||||
|
if (zebibyteKilobyte < target_atm) { |
||||
|
cpsScrollTag(gif_namespace_sdk(kerning_network_drive, gateway_printer, |
||||
|
37), leaderboardExtension); |
||||
|
} |
||||
|
var web_samba = gate(wepModem, recordUpMemory.dma(push_kbps_protector - |
||||
|
firewire_cc_winsock, api - windows_forum, hardBatchVolume), 3); |
||||
|
|
||||
|
Causas quis superos in aura *sit sunt excutit* quidem, tanti, bracchia, sed |
||||
|
poenae animus sustineat. Fallitis et mandata ferat laniarat aethera. Ecquid vero |
||||
|
Canentem ignis quatiens per modo aetatis, et florem |
||||
|
[tenderet](http://www.wtfpl.net/). Ecce qua ulla et forcipe, qui Perseus, Dauno, |
||||
|
somno! Ferus aves caput procul dextra. |
||||
|
|
||||
|
[crimina in]: http://www.uselessaccount.com/ |
||||
|
[in]: http://zeus.ugent.be/ |
||||
|
[tenderet]: http://www.wtfpl.net/ |
@ -0,0 +1,80 @@ |
|||||
|
Title: Page Two |
||||
|
Date: 2013-12-10 16:15 |
||||
|
Modified: 2014-01-12 07:00 |
||||
|
Author: Tabrett |
||||
|
Slug: page-two |
||||
|
|
||||
|
# Positaeque luctibus |
||||
|
|
||||
|
## Dote postes et horror auxiliumque tenebras haerentem |
||||
|
|
||||
|
Lorem markdownum **humiles**, est aetas adgreditur domui tegmina flammis ore |
||||
|
excussis; est nemus Typhoea ferat. Adsensere fontis et ille tauri tibi nam |
||||
|
Proreus namque armis veniat [plumae ab](http://gifctrl.com/) est est in *totidem |
||||
|
caput nil* Corythus? Hamato sine undis agitante velut partim vulnera |
||||
|
[ire](http://imgur.com/) sit ora perfudit di latus scilicet terunt. |
||||
|
|
||||
|
if (rippingProtectorVertical == textCell) { |
||||
|
jspPop.eDriveAdd.moodle_voip_pram(metafileNull); |
||||
|
malwareIpUnfriend += tableDebugCpu(oop); |
||||
|
} else { |
||||
|
service.os_ansi_backup = tweet + 3 + sequence_dns / smishing_office_sms; |
||||
|
hardLeak = webmail / dcimMarketing; |
||||
|
} |
||||
|
var flowchartForumXml = botnet; |
||||
|
alignmentJpegService += t(basic); |
||||
|
if (menu) { |
||||
|
standbySpooling.mountainWord(ioCopyCross(ccd, dongle_ipad, dualPage), |
||||
|
mampTextScreenshot(engine, metafile), mailFile); |
||||
|
node_key_exif.twitter_system_pinterest *= hard_input_type; |
||||
|
media = index.basic(read_lun_panel, bannerBitrateWi); |
||||
|
} else { |
||||
|
io.leak = 4; |
||||
|
wrap_point -= 1; |
||||
|
} |
||||
|
|
||||
|
## Timoli aristis |
||||
|
|
||||
|
Frequens Ilios temerarius rursus mugitibus captiva ubi nimbos non alas fila, |
||||
|
nulla venientem Minos et. Petitis verba mortis ducimus, quo sinus habet. |
||||
|
|
||||
|
## Sic tu dumque adnuit imagine quidem |
||||
|
|
||||
|
Presso regno! Hoc militis, aemulus! Custos tulit desit pugnae velocius proterit, |
||||
|
manibus vocantia socio ire memor gramen *montibus*. Dedere me referat pugnet. |
||||
|
|
||||
|
## Nec temporis |
||||
|
|
||||
|
Abiit tulerat forma laudaret; ilicet verus potius solutis viderat, dilacerant |
||||
|
*lapis*, et quid. Verendam ecce Cinyphiumque promptas hac nulla subegit incinxit |
||||
|
percusso. Pro suspiria enim, cape Astraei factus luctus alimentaque copia! Iove |
||||
|
vitae, ante de amnes nigri; **undas** quam tristia potiar, et **vagantem**, |
||||
|
insula memor egit. |
||||
|
|
||||
|
if (coreCodeConstant) { |
||||
|
recursionCyberbullyingSoft.diskMashupSql /= raySwappable.torrent(ip); |
||||
|
} else { |
||||
|
wave_native_social(dcim_system_hard, fpu_token, variable_memory); |
||||
|
} |
||||
|
cmosLayout(5 + numberSampleBit * operationTrojan, reality_io_definition, 5); |
||||
|
edutainment(joystickSecondaryBar); |
||||
|
|
||||
|
## Crura utentem |
||||
|
|
||||
|
Lumina expers, equidem, ira fera rigidum sanguinis [magna |
||||
|
percurrens](http://www.lipsum.com/) sibi bracchia? Si mitto ad domum **valens** |
||||
|
infectaque *corpore*. **Ab** meos dicit illo utroque [discidium magnos |
||||
|
glaebis](http://zombo.com/); nec Iove renoventur; ille. Leto relinquent aperti |
||||
|
capiebat Cereris vocavit? |
||||
|
|
||||
|
> Mora tunc nolim. Duabus magos si Cleonae tauri incaluit **peteret Meleagre**, |
||||
|
> in flores manus novit herbas, ea. Virginis sibi qui adhaeret Lapitheia |
||||
|
> quantum! |
||||
|
|
||||
|
Praeceps ut a magni, haec herbas? Deos veribus cui. Si des vestigia sed pectoris |
||||
|
stellas, vellet **Calliroe maerenti tetigit** conspectior valle. |
||||
|
|
||||
|
[discidium magnos glaebis]: http://zombo.com/ |
||||
|
[ire]: http://imgur.com/ |
||||
|
[magna percurrens]: http://www.lipsum.com/ |
||||
|
[plumae ab]: http://gifctrl.com/ |
@ -0,0 +1,20 @@ |
|||||
|
Title: X - a page without date and modified date |
||||
|
Author: Wisdom |
||||
|
Slug: page-three |
||||
|
|
||||
|
# Celatur pace pervius |
||||
|
|
||||
|
Cum quae, vulnere magni Faunine telum, et illum negare extremum demunt dat |
||||
|
obstitit pressos. Pindo inmissos, praesaga nostri vero: chordas mutataeque |
||||
|
metuitque aequora; sub nisi, nec exstante in *virgine*! Tenet in in in sed nec |
||||
|
dum *pectora augerem* vernat bitumen quoniam *illa nec* gentes bracchia Phrygum. |
||||
|
|
||||
|
- Inoosque Ausonias igne |
||||
|
- Non non |
||||
|
- Victor saepe |
||||
|
- Ad pectus et pectora futura |
||||
|
|
||||
|
Idem sui quam ereptaque steriles vestra artesque dederunt in infuso, precari, |
||||
|
quae omnia, me. Quis incerti Pygmaeae, et sit solidoque saetaeque sacra modo; |
||||
|
corymbis committe tantos? Rerum veri caede, cuius clamat sed cunctis; lac |
||||
|
statque carmen. Est **tota Dianae** diem: ergo ingeniis, quas figitque! |
@ -0,0 +1,13 @@ |
|||||
|
Title: Some other page without date |
||||
|
Author: Wisdom |
||||
|
Slug: page-four |
||||
|
|
||||
|
# Deme negat accingitur victi |
||||
|
|
||||
|
## Vulgi hostibus de cecidit dedit mea Thebae |
||||
|
|
||||
|
Lorem markdownum, nunc Phoebo turba et solida certe non pars recta ignoto, |
||||
|
incubuit procedit lacrimis leones, suos. Agros esse genitor excipit scindit, |
||||
|
sine, te sensit ad illinc. Erat Peleusque ponat multa: dixit misce Lelegeides |
||||
|
super convellere, gravi. Quas campus maxima clipei me quot *quae* deus, insuper |
||||
|
et ille nec, custodia flumine! |
@ -0,0 +1,117 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="http://example.com/sitemap-stylesheet.xsl"?> |
||||
|
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> |
||||
|
<url> |
||||
|
<loc>http://example.com/</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>daily</changefreq> |
||||
|
<priority>1.00</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/article-three.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>weekly</changefreq> |
||||
|
<priority>0.80</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/article-two.html</loc> |
||||
|
<lastmod>2011-01-30</lastmod> |
||||
|
<changefreq>weekly</changefreq> |
||||
|
<priority>0.80</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/article-one.html</loc> |
||||
|
<lastmod>2007-11-19</lastmod> |
||||
|
<changefreq>weekly</changefreq> |
||||
|
<priority>0.80</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/pages/page-two.html</loc> |
||||
|
<lastmod>2014-01-12</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.50</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/pages/page-one.html</loc> |
||||
|
<lastmod>2007-11-13</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.50</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/pages/page-four.html</loc> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.50</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/pages/page-three.html</loc> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.50</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/category/sample-category-1.html</loc> |
||||
|
<lastmod>2007-11-19</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/category/sample-category-2.html</loc> |
||||
|
<lastmod>2011-01-30</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/category/sample-category-3.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/tag/tag0.html</loc> |
||||
|
<lastmod>2007-11-19</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/tag/tag1.html</loc> |
||||
|
<lastmod>2011-01-30</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/tag/tag2.html</loc> |
||||
|
<lastmod>2011-01-30</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/tag/tag3.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/tag/tag4.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/author/dexter.html</loc> |
||||
|
<lastmod>2007-11-19</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/author/johnny.html</loc> |
||||
|
<lastmod>2011-01-30</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/author/miri.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/tags.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/categories.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/authors.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/archives.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url> |
||||
|
</urlset> |
@ -0,0 +1,117 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="http://example.com/sitemap-stylesheet.xsl"?> |
||||
|
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> |
||||
|
<url> |
||||
|
<loc>http://example.com/</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>daily</changefreq> |
||||
|
<priority>1.00</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/customarticles/2014/May/21/article-three/</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>weekly</changefreq> |
||||
|
<priority>0.80</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/customarticles/2011/Jan/30/article-two/</loc> |
||||
|
<lastmod>2011-01-30</lastmod> |
||||
|
<changefreq>weekly</changefreq> |
||||
|
<priority>0.80</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/customarticles/2007/Nov/19/article-one/</loc> |
||||
|
<lastmod>2007-11-19</lastmod> |
||||
|
<changefreq>weekly</changefreq> |
||||
|
<priority>0.80</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/pages/page-two.html</loc> |
||||
|
<lastmod>2014-01-12</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.50</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/pages/page-one.html</loc> |
||||
|
<lastmod>2007-11-13</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.50</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/pages/page-four.html</loc> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.50</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/pages/page-three.html</loc> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.50</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/category/sample-category-1.html</loc> |
||||
|
<lastmod>2007-11-19</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/category/sample-category-2.html</loc> |
||||
|
<lastmod>2011-01-30</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/category/sample-category-3.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/tag/tag0.html</loc> |
||||
|
<lastmod>2007-11-19</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/tag/tag1.html</loc> |
||||
|
<lastmod>2011-01-30</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/tag/tag2.html</loc> |
||||
|
<lastmod>2011-01-30</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/tag/tag3.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/tag/tag4.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/author/dexter.html</loc> |
||||
|
<lastmod>2007-11-19</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/author/johnny.html</loc> |
||||
|
<lastmod>2011-01-30</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/author/miri.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/tags.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/categories.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/authors.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/archives.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url> |
||||
|
</urlset> |
@ -0,0 +1,117 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="http://example.com/sitemap-stylesheet.xsl"?> |
||||
|
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> |
||||
|
<url> |
||||
|
<loc>http://example.com/</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>daily</changefreq> |
||||
|
<priority>1.00</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/article-three.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>weekly</changefreq> |
||||
|
<priority>0.80</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/article-two.html</loc> |
||||
|
<lastmod>2011-01-30</lastmod> |
||||
|
<changefreq>weekly</changefreq> |
||||
|
<priority>0.80</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/article-one.html</loc> |
||||
|
<lastmod>2007-11-19</lastmod> |
||||
|
<changefreq>weekly</changefreq> |
||||
|
<priority>0.80</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/pages/page-two.html</loc> |
||||
|
<lastmod>2014-01-12</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.50</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/pages/page-one.html</loc> |
||||
|
<lastmod>2007-11-13</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.50</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/pages/page-four.html</loc> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.50</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/pages/page-three.html</loc> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.50</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/category/sample-category-1.html</loc> |
||||
|
<lastmod>2007-11-19</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/category/sample-category-2.html</loc> |
||||
|
<lastmod>2011-01-30</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/category/sample-category-3.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/tag/tag0.html</loc> |
||||
|
<lastmod>2007-11-19</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/tag/tag1.html</loc> |
||||
|
<lastmod>2011-01-30</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/tag/tag2.html</loc> |
||||
|
<lastmod>2011-01-30</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/tag/tag3.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/tag/tag4.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/author/dexter.html</loc> |
||||
|
<lastmod>2007-11-19</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/author/johnny.html</loc> |
||||
|
<lastmod>2011-01-30</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/author/miri.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/abc/tags.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/cats/meow/something.txt</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/those-writers.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/our-curated-library.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url> |
||||
|
</urlset> |
@ -0,0 +1,117 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="http://example.com/sitemap-stylesheet.xsl"?> |
||||
|
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> |
||||
|
<url> |
||||
|
<loc>http://example.com/</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>daily</changefreq> |
||||
|
<priority>1.00</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/article-three.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>weekly</changefreq> |
||||
|
<priority>0.80</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/article-two.html</loc> |
||||
|
<lastmod>2011-01-30</lastmod> |
||||
|
<changefreq>weekly</changefreq> |
||||
|
<priority>0.80</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/article-one.html</loc> |
||||
|
<lastmod>2007-11-19</lastmod> |
||||
|
<changefreq>weekly</changefreq> |
||||
|
<priority>0.80</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/pages/page-two.html</loc> |
||||
|
<lastmod>2014-01-12</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.50</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/pages/page-one.html</loc> |
||||
|
<lastmod>2007-11-13</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.50</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/pages/page-four.html</loc> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.50</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/pages/page-three.html</loc> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.50</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/category/sample-category-1.html</loc> |
||||
|
<lastmod>2007-11-19</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/category/sample-category-2.html</loc> |
||||
|
<lastmod>2011-01-30</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/category/sample-category-3.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/tag/tag0.html</loc> |
||||
|
<lastmod>2007-11-19</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/tag/tag1.html</loc> |
||||
|
<lastmod>2011-01-30</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/tag/tag2.html</loc> |
||||
|
<lastmod>2011-01-30</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/tag/tag3.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/tag/tag4.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/author/dexter.html</loc> |
||||
|
<lastmod>2007-11-19</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/author/johnny.html</loc> |
||||
|
<lastmod>2011-01-30</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/author/miri.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/abc/tags</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/cats/meow</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/authors/all</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/lib/the-archive/list/</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url> |
||||
|
</urlset> |
@ -0,0 +1,117 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="http://example.com/subpath/sitemap-stylesheet.xsl"?> |
||||
|
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> |
||||
|
<url> |
||||
|
<loc>http://example.com/subpath/</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>daily</changefreq> |
||||
|
<priority>1.00</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/subpath/article-three.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>weekly</changefreq> |
||||
|
<priority>0.80</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/subpath/article-two.html</loc> |
||||
|
<lastmod>2011-01-30</lastmod> |
||||
|
<changefreq>weekly</changefreq> |
||||
|
<priority>0.80</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/subpath/article-one.html</loc> |
||||
|
<lastmod>2007-11-19</lastmod> |
||||
|
<changefreq>weekly</changefreq> |
||||
|
<priority>0.80</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/subpath/pages/page-two.html</loc> |
||||
|
<lastmod>2014-01-12</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.50</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/subpath/pages/page-one.html</loc> |
||||
|
<lastmod>2007-11-13</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.50</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/subpath/pages/page-four.html</loc> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.50</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/subpath/pages/page-three.html</loc> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.50</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/subpath/category/sample-category-1.html</loc> |
||||
|
<lastmod>2007-11-19</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/subpath/category/sample-category-2.html</loc> |
||||
|
<lastmod>2011-01-30</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/subpath/category/sample-category-3.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/subpath/tag/tag0.html</loc> |
||||
|
<lastmod>2007-11-19</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/subpath/tag/tag1.html</loc> |
||||
|
<lastmod>2011-01-30</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/subpath/tag/tag2.html</loc> |
||||
|
<lastmod>2011-01-30</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/subpath/tag/tag3.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/subpath/tag/tag4.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/subpath/author/dexter.html</loc> |
||||
|
<lastmod>2007-11-19</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/subpath/author/johnny.html</loc> |
||||
|
<lastmod>2011-01-30</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/subpath/author/miri.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/subpath/tags.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/subpath/categories.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/subpath/authors.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url><url> |
||||
|
<loc>http://example.com/subpath/archives.html</loc> |
||||
|
<lastmod>2014-06-01</lastmod> |
||||
|
<changefreq>monthly</changefreq> |
||||
|
<priority>0.40</priority> |
||||
|
</url> |
||||
|
</urlset> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue