From d3a9ba4ebea136fae676911148509ec3f729abbc Mon Sep 17 00:00:00 2001 From: David Thompson Date: Sun, 24 Apr 2016 15:26:44 -0400 Subject: website: Add copy of HTML manual. --- website/manual/Introduction.html | 138 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 website/manual/Introduction.html (limited to 'website/manual/Introduction.html') diff --git a/website/manual/Introduction.html b/website/manual/Introduction.html new file mode 100644 index 0000000..d907168 --- /dev/null +++ b/website/manual/Introduction.html @@ -0,0 +1,138 @@ + + + + + +Haunt Reference Manual: Introduction + + + + + + + + + + + + + + + + + + + + +
+

+Next: , Previous: , Up: Top   [Contents][Index]

+
+
+ +

1 Introduction

+ +

Haunt is a hackable static site generator written in Guile Scheme. A +static site generator assists an author with generating the HTML pages +that they publish on the web. Unlike “content management systems” +such as Wordpress or Drupal, static site generators are not dynamic +web applications (complete with a relational database) that build +pages on-the-fly. Instead, web pages are built in advance, on the +author’s computer, and copied to a web server when it is time to +publish changes. The consequence of this design is that the web +server no longer needs to run a complex, potentially insecure web +application that connects to a database to retrieve data. Static +files can be served easily by any generic web server. Since there is +no web application or database server to deal with, static websites +are easier to maintain, more secure, and resistant to high web traffic +(“slashdotting.”) Furthermore, the entire website is stored in +plain text, which allows the files to be version-controlled rather +than kept in a relational database with no concept of history that +needs to be backed up regularly. +

+

At the time that Haunt was conceived, there existed literally hundreds +of other static site generators. Why add another one? Haunt +differentiates itself from most other static site generators in that +it aspires to the Emacs philosophy of “practical software freedom.” +Not only is the source code available under a Free Software license, +as most static site generators are, it is designed to be easily hacked +and extended without altering the core source code. Haunt +purposefully blurs the line between document and program, author and +programmer, by embracing the notion of data as code. A Haunt-based +website is not simply data, but a computer program. This design +strategy encourages authors to automate repetitive tasks and empowers +them to extend the software with their own ideas. +

+

To make such a system work well, a general-purpose, extensible +programming language is needed. A traditional configuration file +format simply will not do. The programming language that we feel is +best suited to this task is Scheme, a clean and elegant dialect of +Lisp. We believe that by giving authors the full expressive power of +Scheme, they will be able to produce better websites and make better +use of their time than with less programmable systems and less capable +programming languages. Authors should feel empowered to hack the +system to make it do what they want rather than what some programmer +decided they should want. And perhaps most importantly, building +websites with Haunt should be fun. +

+

Websites written in Haunt are described as purely functional programs +that accept “posts”, text documents containing arbitrary metadata, +as input and transform them into complete HTML pages using Scheme +procedures. Haunt has no opinion about what markup language authors +should use to write their posts and will happily work with any format +for which a “reader” procedure exists. Likewise, Haunt also has no +opinion about how authors should structure their sites, but has sane +defaults. Currently, there exist helpful “builder” procedures that +do common tasks such as generating a blog or Atom feed. While the +built-in features may be enough for some, they surely will not be +enough for all. Haunt’s Scheme API empowers authors to easily tweak +existing components, write replacements, or add entirely new features +that do things no else has thought to do yet. +

+

Happy haunting! +

+
+
+

+Next: , Previous: , Up: Top   [Contents][Index]

+
+ + + + + -- cgit v1.2.3