Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a template for static site. #1

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions qlfile.lock
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
("quicklisp" .
(:class qlot/source/dist:source-dist
:initargs (:distribution "http://beta.quicklisp.org/dist/quicklisp.txt" :%version :latest)
:version "2023-02-15"))
:version "2023-10-21"))
("ultralisp" .
(:class qlot/source/dist:source-dist
:initargs (:distribution "http://dist.ultralisp.org/" :%version :latest)
:version "20230501215000"))
:version "20240329145000"))
("slynk" .
(:class qlot/source/github:source-github
:initargs (:repos "svetlyak40wt/sly" :ref nil :branch "patches" :tag nil)
Expand Down
43 changes: 43 additions & 0 deletions templates/static-site/.coleslawrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
;;; -*- mode : lisp -*-
(;; Required information
:author "Lisp Static Site" ;; to be placed on post pages and in the copyright/CC-BY-SA notice
:deploy-dir "deploy/" ;; for Coleslaw's generated HTML to go in
:domain "https://example.com" ;; to generate absolute links to the site content. Note: with :cname option of gh-pages, this requires a url scheme, e.g. https://fake.org
:routing ((:post "posts/~a") ;; to determine the URL scheme of content on the site
(:tag-index "tag/~a")
(:month-index "date/~a")
(:numeric-index "posts/~d")
(:feed "~a.xml")
(:tag-feed "tag/~a.xml")
(:sitemap "~a.xml"))
:title "Improved Means for Achieving Deteriorated Ends" ;; a site title
:theme "hyde" ;; to select one of the themes in "coleslaw/themes/"

;; Optional information
:excerpt-sep "<!--more-->" ;; to set the separator for excerpt in content
:feeds ("lisp")
:plugins ((analytics :tracking-code "foo")
(disqus :shortname "my-site-name")
; (incremental) ;; *Remove comment to enable incremental builds.
(mathjax)
(sitemap)
(static-pages)
;; deployment plugins
;; deployment to github pages
; (gh-pages :url "[email protected]:myaccount/myrepo.git"
; ; :cname t ;; if you want to use the custom domain --- see http://pages.github.com/
; )
;; versioned deployment. Remove comment to enable symlinked, timestamped deploys.
; (versioned)
;; default deploy method is rsync
(rsync "-avz" "--delete" "--exclude" ".git/" "--exclude" ".gitignore" "--copy-links")
)
:sitenav ((:url "http://Lisp Static Site.github.com/" :name "Home")
(:url "http://twitter.com/Lisp Static Site" :name "Twitter")
(:url "http://github.com/Lisp Static Site" :name "Code")
(:url "http://soundcloud.com/Lisp Static Site" :name "Music")
(:url "http://redlinernotes.com/docs/talks/" :name "Talks"))
:staging-dir "/tmp/coleslaw/" ;; for Coleslaw to do intermediate work, default: "/tmp/coleslaw"
)

;; * Prerequisites described in plugin docs.
18 changes: 18 additions & 0 deletions templates/static-site/pages/foo.page
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
;;;;;
title: A foo page.
tags: bar, baz
date: 2024-03-30 08:18:05
format: md
URL: index.html
;;;;;

<!-- **** your post here (remove this line) **** -->
<!-- format: could be 'html' (for raw html) or 'md' (for markdown). -->

Here is my content.

<!--more-->

Excerpt separator can also be extracted from content.
Add `excerpt: <string>` to the above metadata.
Excerpt separator is `<!--more-->` by default.
17 changes: 17 additions & 0 deletions templates/static-site/posts/first.post
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
;;;;;
title: First post
tags: bar, baz
date: 2024-03-29 18:31:49
format: md
;;;;;

<!-- **** your post here (remove this line) **** -->
<!-- format: could be 'html' (for raw html) or 'md' (for markdown). -->

Here is my content.

<!--more-->

Excerpt separator can also be extracted from content.
Add `excerpt: <string>` to the above metadata.
Excerpt separator is `<!--more-->` by default.
57 changes: 57 additions & 0 deletions templates/static-site/themes/default/base.tmpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
{namespace coleslaw.theme.hyde}

{template base}
<!doctype html>{\n}
<html lang="{$config.lang}">
<head>
<title>{$config.title}</title>
<meta http-equiv="content-type" content="text/html;" charset="{$config.charset}" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="//fonts.googleapis.com/css?family=Vollkorn:regular,italic,bold,bolditalic" rel="stylesheet" type="text/css" />
<link href="//fonts.googleapis.com/css?family=Inconsolata" rel="stylesheet" type="text/css" />
<link href= "{$config.domain}/css/style.css" rel="stylesheet" type="text/css" />
<link rel="alternate" href="{$config.domain}/rss.xml" type="application/rss+xml" />
{if $injections.head}
{foreach $injection in $injections.head}
{$injection |noAutoescape}
{/foreach}
{/if}
</head>
<body>
<div class="navigation">
<a href="{$config.domain}">{$config.title}</a> |
{foreach $link in $config.sitenav}
{if $link.relative}
<a href="{$config.domain}/{$link.url}">{$link.name}</a>
{else}
<a href="{$link.url}">{$link.name}</a>
{/if}
{if not isLast($link)} {sp}|{sp} {/if}
{/foreach}
</div>
<div id="content">
{$raw |noAutoescape}
</div>
{if $injections.body}
{foreach $injection in $injections.body}
{$injection |noAutoescape}
{/foreach}
{/if}
<div class="fineprint">
<hr>
Unless otherwise credited all material
{if $config.license}
{$config.license}
{else}
<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/deed.en_US">
<img alt="Creative Commons License" style="border-width:0" src="{$config.domain}/css/cc-by-sa.png" />
</a>
{/if}
by {$config.author}
<a id="coleslaw-logo" href="https://github.com/redline6561/coleslaw">
<img src="{$config.domain}/css/logo_small.jpg" alt="Coleslaw logo" />
</a>
</div>
</body>
</html>
{/template}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
100 changes: 100 additions & 0 deletions templates/static-site/themes/default/css/style.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
#content { background: #fff; padding-top: 1em }
#header { float: right; margin-left: 1em; margin-bottom: 1em }
#coleslaw-logo { float: right; }
a { text-decoration: none; color: #992900 }
a.anchor { color: black }
.date { font-style: italic }
.title { margin-left: 1em }
.article-meta { margin-left: 2.2em; margin-bottom: 2.2em }
.archive-title { font-size: 1em } .article-title { font-size: 2em }
.article-content { margin-left: 2.2em }
.fineprint { text-align: center; font-size: .9em; margin-top: .5em }
.tag-low { font-size: .8em; font-weight: 200 }
.tag-medium { font-size: 1.2em; font-weight: 600 }
.tag-high { font-size: 1.8em; font-weight: 800 }
.navigation { font-size: 1.2em; border-bottom: 1px solid }
body { background-color: white; font-family: Vollkorn; font-size: 14pt }
pre { overflow: auto; margin-left: 1em; padding: 0.5em; border-left: 1px dashed;
background-color: white; padding: .75em .5em; font-family: (unquote mono-font) }
tt { font-size: .9em; font-family: (unquote mono-font) }

/* Stolen from lisppaste for the colorize output of 3bmd */
.paste { background-color: #F4F4F4; color: black; }
.paste:hover { background-color: #F4F4F4; color: black; }
.symbol { color : #770055; background-color : transparent; border: 0px; margin: 0px;}
.special { color : #FF5000; background-color : inherit; }
.keyword { color : #770000; background-color : inherit; }
.comment { color : #007777; background-color : inherit; }
.string { color : #777777; background-color : inherit; }
.atom { color : #314F4F; background-color : inherit; }
.macro { color : #FF5000; background-color : inherit; }
.variable { color : #36648B; background-color : inherit; }
.function { color : #8B4789; background-color : inherit; }
.attribute { color : #FF5000; background-color : inherit; }
.character { color : #0055AA; background-color : inherit; }
.syntaxerror { color : #FF0000; background-color : inherit; }
.diff-deleted { color : #5F2121; background-color : inherit; }
.diff-added { color : #215F21; background-color : inherit; }
span.paren1 { background-color : inherit; -webkit-transition: background-color 0.2s linear; }
span.paren1:hover { color : inherit; background-color : #BAFFFF; }
span.paren2 { background-color : inherit; -webkit-transition: background-color 0.2s linear; }
span.paren2:hover { color : inherit; background-color : #FFCACA; }
span.paren3 { background-color : inherit; -webkit-transition: background-color 0.2s linear; }
span.paren3:hover { color : inherit; background-color : #FFFFBA; }
span.paren4 { background-color : inherit; -webkit-transition: background-color 0.2s linear; }
span.paren4:hover { color : inherit; background-color : #CACAFF; }
span.paren5 { background-color : inherit; -webkit-transition: background-color 0.2s linear; }
span.paren5:hover { color : inherit; background-color : #CAFFCA; }
span.paren6 { background-color : inherit; -webkit-transition: background-color 0.2s linear; }
span.paren6:hover { color : inherit; background-color : #FFBAFF; }

@media (max-width: 680px) {

#content {
padding-top: 0em
}

.title {
margin-left: 0.1em;
}

.article-meta {
margin-bottom: 1em;
}

.article-meta, .article-content {
float: left;
margin-left: 0em;
margin-right: 0em;
width: 90%;
padding-left: 5%;
}

.article, .article-content {
margin-left: 0em;
text-align: justify;
}

img {
display: block;
margin-left: auto;
margin-right: auto;
width: 100%;
}

#coleslaw-logo {
float: none;
}

#coleslaw-logo img {
margin-left: auto;
margin-right: auto;
float: none;
width: auto;
}

.fineprint a img {
width: auto;
clear: both;
}
}
34 changes: 34 additions & 0 deletions templates/static-site/themes/default/index.tmpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{namespace coleslaw.theme.hyde}

{template index}
<h1 class="title">{$index.title}</h1>
{foreach $obj in $index.content}
<div class="article-meta">
<a class="article-title" href="{$config.domain}/{$obj.url}">{$obj.title}</a>
<div class="date"> posted on {$obj.date}</div>
<div class="article">{$obj.excerpt |noAutoescape}</div>
</div>
{/foreach}
<div id="relative-nav">
{if $prev} <a href="{$config.domain}/{$prev.url}">Previous</a> {/if}
{if $next} <a href="{$config.domain}/{$next.url}">Next</a> {/if}
</div>
{if $tags}
<div id="tagsoup">
<p>This blog covers
{foreach $tag in $tags}
<a href="{$config.domain}/{$tag.url}">{$tag.name}</a>{nil}
{if not isLast($tag)},{sp}{/if}
{/foreach}
</div>
{/if}
{if $months}
<div id="monthsoup">
<p>View content from
{foreach $month in $months}
<a href="{$config.domain}/{$month.url}">{$month.name}</a>{nil}
{if not isLast($month)},{sp}{/if}
{/foreach}
</div>
{/if}
{/template}
27 changes: 27 additions & 0 deletions templates/static-site/themes/default/post.tmpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{namespace coleslaw.theme.hyde}

{template post}
<div class="article-meta">{\n}
<h1 class="title">{$post.title}</h1>{\n}
<div class="tags">{\n}
{if $post.tags}
Tagged as {foreach $tag in $post.tags}
<a href="{$config.domain}/{$tag.url}">{$tag.name}</a>{nil}
{if not isLast($tag)},{sp}{/if}
{/foreach}
{/if}
</div>{\n}
<div class="date">{\n}
{if $post.date}
Written on {$post.date}
{/if}
</div>{\n}
</div>{\n}
<div class="article-content">{\n}
{$post.text |noAutoescape}
</div>{\n}
<div class="relative-nav">{\n}
{if $prev} <a href="{$config.domain}/{$prev.url}">Previous</a><br> {/if}{\n}
{if $next} <a href="{$config.domain}/{$next.url}">Next</a><br> {/if}{\n}
</div>{\n}
{/template}