diff --git a/docs/settings.rst b/docs/settings.rst index b98b649ef..301f3d343 100644 --- a/docs/settings.rst +++ b/docs/settings.rst @@ -62,10 +62,13 @@ Setting name (default value) What does it do? `RELATIVE_URLS` (``True``) Defines whether Pelican should use relative URLs or not. `SITENAME` (``'A Pelican Blog'``) Your site name -`SITEURL` Base URL of your website. Note that this is - not a way to tell Pelican whether to use relative URLs - or static ones. You should instead use the - `RELATIVE_URL` setting for that purpose. +`SITEURL` Base URL of your website. Not defined by default, + which means the base URL is assumed to be "/" with a + root-relative URL structure. If `SITEURL` is specified + explicitly, URLs will be generated with an absolute + URL structure (including the domain). If you want to + use relative URLs instead of root-relative or absolute + URLs, you should instead use the `RELATIVE_URL` setting. `STATIC_PATHS` (``['images']``) The static paths you want to have accessible on the output path "static". By default, Pelican will copy the 'images' folder to the @@ -86,10 +89,10 @@ Setting name (default value) What does it do? URL Settings ------------ -You can customize the URL's and locations where files will be saved. The URL's and -SAVE_AS variables use python's format strings. These variables allow you to place -your articles in a location such as '{slug}/index.html' and link to then as -'{slug}' for clean urls. These settings give you the flexibility to place your +You can customize the URLs and locations where files will be saved. The URLs and +SAVE_AS variables use Python's format strings. These variables allow you to place +your articles in a location such as '{slug}/index.html' and link to them as +'{slug}' for clean URLs. These settings give you the flexibility to place your articles and pages anywhere you want. Note: If you specify a datetime directive, it will be substituted using the @@ -216,15 +219,26 @@ the ``TAG_FEED`` and ``TAG_FEED_RSS`` settings: ================================================ ===================================================== Setting name (default value) What does it do? ================================================ ===================================================== -`CATEGORY_FEED` ('feeds/%s.atom.xml'[2]_) Where to put the category Atom feeds. -`CATEGORY_FEED_RSS` (``None``, i.e. no RSS) Where to put the category RSS feeds. +`FEED_DOMAIN` (``None``, i.e. base URL is "/") The domain prepended to feed URLs. Since feed URLs + should always be absolute, it is highly recommended + to define this (e.g., "http://feeds.example.com"). If + you have already explicitly defined SITEURL (see + above) and want to use the same domain for your + feeds, you can just set: `FEED_DOMAIN = SITEURL` `FEED` (``'feeds/all.atom.xml'``) Relative URL to output the Atom feed. `FEED_RSS` (``None``, i.e. no RSS) Relative URL to output the RSS feed. -`TAG_FEED` (``None``, ie no tag feed) Relative URL to output the tag Atom feed. It should +`CATEGORY_FEED` ('feeds/%s.atom.xml'[2]_) Where to put the category Atom feeds. +`CATEGORY_FEED_RSS` (``None``, i.e. no RSS) Where to put the category RSS feeds. +`TAG_FEED` (``None``, i.e. no tag feed) Relative URL to output the tag Atom feed. It should be defined using a "%s" match in the tag name. `TAG_FEED_RSS` (``None``, ie no RSS tag feed) Relative URL to output the tag RSS feed `FEED_MAX_ITEMS` Maximum number of items allowed in a feed. Feed item quantity is unrestricted by default. +`FEED_MAIN_URL` (``'feeds/all.atom.xml'``) URL appended to domain for the main Atom feed and + used to populate its `` in the base template. + Useful when you want the feed link to differ from the + filesystem path, such as when using web server + aliases/rewrites or FeedBurner (see below). ================================================ ===================================================== If you don't want to generate some of these feeds, set ``None`` to the @@ -232,6 +246,25 @@ variables above. .. [2] %s is the name of the category. +FeedBurner +---------- + +If you want to use FeedBurner for your primary Atom feed, there are two +primary fields to configure in the `FeedBurner +`_ interface: "Original Feed" and "Feed Address". +If using the default Pelican `FEED` attribute and assuming your feeds +are served from the `www.example.com` domain, you would enter +`http://www.example.com/feeds/all.atom.xml` in the "Original Feed" field in +FeedBurner. + +For the "Feed Address" field in the FeedBurner interface, you may choose +whatever suffix you prefer. In your Pelican settings, assign this suffix to +the `FEED_MAIN_URL` setting. So if your FeedBurner feed address is set to +`http://feeds.feedburner.com/myblogfeed`, in your Pelican settings you would +set: `FEED_MAIN_URL = "myblogfeed"`. Then set the `FEED_DOMAIN` setting to +`http://feeds.feedburner.com`, or `http://feeds.example.com` if you are using +a CNAME on your own domain (i.e., FeedBurner's "MyBrand" feature). + Pagination ========== diff --git a/pelican/settings.py b/pelican/settings.py index b38a99fd8..59dc59223 100644 --- a/pelican/settings.py +++ b/pelican/settings.py @@ -18,6 +18,7 @@ 'STATIC_PATHS': ['images', ], 'THEME_STATIC_PATHS': ['static', ], 'FEED': 'feeds/all.atom.xml', + 'FEED_MAIN_URL': 'feeds/all.atom.xml', 'CATEGORY_FEED': 'feeds/%s.atom.xml', 'TRANSLATION_FEED': 'feeds/all-%s.atom.xml', 'FEED_MAX_ITEMS': '', diff --git a/pelican/themes/notmyidea/static/css/main.css b/pelican/themes/notmyidea/static/css/main.css index 7534790f1..28c98b992 100644 --- a/pelican/themes/notmyidea/static/css/main.css +++ b/pelican/themes/notmyidea/static/css/main.css @@ -26,8 +26,6 @@ body { text-align: left; } - - /* Headings */ h1 {font-size: 2em } h2 {font-size: 1.571em} /* 22px */ @@ -304,7 +302,7 @@ img.left, figure.left {float: right; margin: 0 0 2em 2em;} .social a[href*='digg.com'] {background-image: url('../images/icons/digg.png');} .social a[href*='facebook.com'] {background-image: url('../images/icons/facebook.png');} .social a[href*='last.fm'], .social a[href*='lastfm.'] {background-image: url('../images/icons/lastfm.png');} - .social a[href*='atom.xml'] {background-image: url('../images/icons/rss.png');} + .social a[type$='atom+xml'], .social a[type$='rss+xml'] {background-image: url('../images/icons/rss.png');} .social a[href*='twitter.com'] {background-image: url('../images/icons/twitter.png');} .social a[href*='linkedin.com'] {background-image: url('../images/icons/linkedin.png');} diff --git a/pelican/themes/notmyidea/templates/base.html b/pelican/themes/notmyidea/templates/base.html index 12086dc77..0fd388cf6 100644 --- a/pelican/themes/notmyidea/templates/base.html +++ b/pelican/themes/notmyidea/templates/base.html @@ -4,9 +4,9 @@ {% block title %}{{ SITENAME }}{%endblock%} - + {% if FEED_RSS %} - + {% endif %}