diff options
Diffstat (limited to 'docs/creating-a-site.txt')
| -rw-r--r-- | docs/creating-a-site.txt | 78 |
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! |
