aboutsummaryrefslogtreecommitdiffstats
path: root/docs/creating-a-site.txt
diff options
context:
space:
mode:
Diffstat (limited to 'docs/creating-a-site.txt')
-rw-r--r--docs/creating-a-site.txt78
1 files changed, 39 insertions, 39 deletions
diff --git a/docs/creating-a-site.txt b/docs/creating-a-site.txt
index 423b2c1..0891753 100644
--- a/docs/creating-a-site.txt
+++ b/docs/creating-a-site.txt
@@ -1,5 +1,5 @@
.. slug: creating-a-site-not-a-blog-with-nikola
-.. date: 2013/03/01 12:49:41
+.. date: 2015-01-10 10:00:00 UTC
.. tags: nikola, python
.. link:
.. description:
@@ -10,19 +10,22 @@ Creating a Site (Not a Blog) with Nikola
.. class:: lead
-One of the most frequent questions I get about Nikola is "but how do
-I create a site that's not a blog?". And of course, that's because the
-documentation is heavily blog-oriented. This document will change that ;-)
+One of the most frequent questions I get about Nikola is “but how do
+I create a site that’s not a blog?”. And of course, that’s because the
+documentation is heavily blog–oriented. This document will change that ;-)
Since it started, Nikola has had the capabilities to create generic sites. For example,
-Nikola's `own site <http://getnikola.com>`_ is a fairly generic one. Let's go
+Nikola’s `own site <https://getnikola.com/>`_ is a fairly generic one. Let’s go
step by step on how you can do something like that.
As usual when starting a nikola site, you start with ``nikola init`` which creates a
-empty semi-configured site::
+empty (mostly) configured site::
$ nikola init mysite
- Created empty site at mysite.
+ Creating Nikola Site
+ ====================
+ ⋮
+ [1970-01-01T00:00:00Z] INFO: init: Created empty site at mysite.
Then we go into the new ``mysite`` folder, and make the needed changes in the ``conf.py``
configuration file:
@@ -40,8 +43,8 @@ configuration file:
BLOG_TITLE = "Not a Blog"
# This is the main URL for your site. It will be used
# in a prominent link
- SITE_URL = "http://notablog.ralsina.com.ar/"
- BLOG_EMAIL = "ralsina@kde.org"
+ SITE_URL = "https://getnikola.com/"
+ BLOG_EMAIL = "ralsina@example.com"
BLOG_DESCRIPTION = "This is a demo site (not a blog) for Nikola."
#
@@ -58,12 +61,13 @@ configuration file:
And now we are ready to create our first page::
- $ nikola new_post -p
- Creating New Post
+ $ nikola new_page
+ Creating New Page
-----------------
- Enter title: index
- Your post's text is at: pages/index.txt
+ Title: index
+ Scanning posts....done!
+ [1970-01-01T00:00:00Z] INFO: new_page: Your page's text is at: stories/index.rst
.. note:: The ``-p`` option in the ``nikola new_post`` command means we are creating a page and not a blog post.
@@ -74,22 +78,20 @@ We can now build and preview our site::
. render_site:output/categories/index.html
. render_sources:output/index.txt
. render_rss:output/rss.xml
- :
- :
- : [Much more of the same]
-
+ ⋮
$ nikola serve
- Serving HTTP on 127.0.0.1 port 8000 ...
+ [1970-01-01T00:00:00Z] INFO: serve: Serving HTTP on 0.0.0.0 port 8000...
+
-And you can see your (very empty) site in http://localhost:8000
+And you can see your (very empty) site in http://localhost:8000/
-So, what's in that ``pages/index.txt`` file?
+So, what’s in that ``pages/index.txt`` file?
.. code-block:: rest
.. title: index
.. slug: index
- .. date: 2013/03/01 10:26:17
+ .. date: 1970-01-01 00:00:00 UTC
.. tags:
.. link:
.. description:
@@ -97,43 +99,42 @@ So, what's in that ``pages/index.txt`` file?
Write your post here.
-Title is the page title, slug is the name of the generated HTML file
-(in this case it would be ``index.html``) the date doesn't matter much in
-not-blogs, same for tags and link. Description is useful for SEO purposes
+``title`` is the page title, ``slug`` is the name of the generated HTML file
+(in this case it would be ``index.html``). ``date``, ``tags`` and ``link``
+doesn’t matter at all in stories. ``description`` is useful for SEO purposes
if you care for that.
And below, the content. By default you are expected to use
-`reStructuredText <http://getnikola.com/quickstart.html>`_ but
+`reStructuredText <https://getnikola.com/quickstart.html>`_ but
Nikola supports a ton of formats, including Markdown, plain HTML, BBCode,
Wiki, and Textile.
So, let's give the page a nicer title, and some fake content. Since the default
-Nikola theme (called "bootstrap") is based on `bootstrap 2 <http://getbootstrap.com/2.3.2/>`_
+Nikola theme (called ``bootstrap3``) is based on `Bootstrap <http://getbootstrap.com/>`_
you can use anything you like from it:
.. code-block:: rest
.. title: Welcome To The Fake Site
.. slug: index
- .. date: 2013/03/01 10:26:17
+ .. date: 1970-01-01 00:00:00 UTC
.. tags:
.. link:
.. description: Fake Site version 1, welcome page!
- .. class:: hero-unit span6
+ .. class:: jumbotron col-md-6
.. admonition:: This is a Fake Site
It pretends to be about things, but is really just an example.
- So, don't click this button, it leads nowhere.
- .. class:: btn
+ .. raw:: html
- Click Me!
+ <a href="https://getnikola.com/" class="btn btn-primary btn-lg">Click Me!</a>
- .. class:: span5
+ .. class:: col-md-5
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris non nunc turpis.
Phasellus a ullamcorper leo. Sed fringilla dapibus orci eu ornare. Quisque
@@ -146,15 +147,13 @@ you can use anything you like from it:
aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos
himenaeos.
- [And more in the same vein]
-
.. admonition:: TIP: Nice URLs
- If you like your URLs without the ".html" then you want to create folders and
+ If you like your URLs without the ``.html`` then you want to create folders and
put the pages in ``index.html`` inside them using the ``PRETTY_URLS`` option.
And that's it. You will want to change the NAVIGATION_LINKS option to create a reasonable
-"menu" for your site, you will want to hack the theme (check ``nikola help bootswatch_theme``
+menu for your site, you will want to modify the theme (check ``nikola help bootswatch_theme``
for a quick & dirty solution), and you may want to add a blog later on, for company news
or whatever.
@@ -167,9 +166,10 @@ or whatever.
POSTS = [("posts/*.txt", "blog", "post.tmpl", True)]
Create a post with ``nikola new_post`` and that's it, you now have a blog
- in http://yoursite.com/blog (you may want to add links to it in NAVIGATION_LINKS of course).
+ in the ``/blog/`` subdirectory of your site — you may want to link to
+ it in ``NAVIGATION_LINKS``.
-You can see the finished site in http://notablog.ralsina.com.ar and its full configuration in
-http://ralsina.me/listings/notablog/conf.py.html
+If you want to see a site implementing all of the above, check out `the Nikola
+website <https://getnikola.com/>`_.
I hope this was helpful!