diff options
Diffstat (limited to 'manuals/haunt/Introduction.html')
-rw-r--r-- | manuals/haunt/Introduction.html | 149 |
1 files changed, 0 insertions, 149 deletions
diff --git a/manuals/haunt/Introduction.html b/manuals/haunt/Introduction.html deleted file mode 100644 index 5a5f6b9..0000000 --- a/manuals/haunt/Introduction.html +++ /dev/null @@ -1,149 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- Copyright (C) 2015-2021 David Thompson - - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A -copy of the license is included in the section entitled "GNU Free -Documentation License". --> -<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>Introduction (Haunt Reference Manual)</title> - -<meta name="description" content="Introduction (Haunt Reference Manual)"> -<meta name="keywords" content="Introduction (Haunt Reference Manual)"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<link href="index.html" rel="start" title="Top"> -<link href="Concept-Index.html" rel="index" title="Concept Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="index.html" rel="up" title="Top"> -<link href="Installation.html" rel="next" title="Installation"> -<link href="index.html" rel="prev" title="Top"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -@media (min-width: 1140px) { - body { - margin-left: 14rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (min-width: 800px) and (max-width: 1140px) { - body { - margin-left: 6rem; - margin-right: 4rem; - max-width: 52rem; - } -} - -@media (max-width: 800px) { - body { - margin: 1rem; - } -} - ---> -</style> -<link rel="stylesheet" type="text/css" href="https://dthompson.us/css/dthompson.css"> - - -</head> - -<body lang="en"> -<span id="Introduction"></span><div class="header"> -<p> -Next: <a href="Installation.html" accesskey="n" rel="next">Installation</a>, Previous: <a href="index.html" accesskey="p" rel="prev">Top</a>, Up: <a href="index.html" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<span id="Introduction-1"></span><h2 class="chapter">1 Introduction</h2> - -<p>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. -</p> -<p>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. -</p> -<p>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 <em>fun</em>. -</p> -<p>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. -</p> -<p>Happy haunting! -</p> -<hr> -<div class="header"> -<p> -Next: <a href="Installation.html" accesskey="n" rel="next">Installation</a>, Previous: <a href="index.html" accesskey="p" rel="prev">Top</a>, Up: <a href="index.html" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> |