Compare commits

...

5 commits

Author SHA1 Message Date
cea27dea01 Use quotes 2020-12-28 01:28:35 -08:00
8e67de7641 Send coleslaw error output to stdout
I think Jenkins might fail my build because ‘coleslaw --help’ prints to stderr,
which it might interpret as errors. So I’m going to try printing help to stdout
instead.
2020-12-28 01:01:49 -08:00
094e67d0ea Don’t install Emacs, call coleslaw after setting PATH
I don’t need Emacs in this container, I can use a different container.

I can’t run ‘coleslaw’ if the executable isn’t in the PATH variable.
2020-12-28 00:49:10 -08:00
4333a9ec65 Add Dockerfile and Jenkinsfile
This is the first step in improving my coleslaw builds. For this commit the only
thing that it does is build the project into a staging directory.
2020-12-27 17:12:46 -08:00
c9d38e16cb Fix building on latest coleslaw 2020-12-27 17:12:46 -08:00
11 changed files with 281 additions and 0 deletions

40
.coleslawrc Normal file
View file

@ -0,0 +1,40 @@
;;; -*- mode : lisp -*-
(;; Required information
:author "Tom Willemse" ;; 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 "//ryuslash.org/" ;; 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 "~d")
(:feed "~a.xml")
(:tag-feed "tag/~a.xml"))
:title "Improved Means for Achieving Deteriorated Ends" ;; a site title
:theme "oni" ;; 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 (; (incremental) ;; *Remove comment to enable incremental builds.
(mathjax)
(sitemap)
(static-pages)
;; deployment plugins
;; deployment to github pages
; (gh-pages :url "git@github.com: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://NIL.github.com/" :name "Home")
(:url "http://twitter.com/NIL" :name "Twitter")
(:url "http://github.com/NIL" :name "Code")
(:url "http://soundcloud.com/NIL" :name "Music")
(:url "http://redlinernotes.com/docs/talks/" :name "Talks"))
:staging-dir "staging/" ;; for Coleslaw to do intermediate work, default: "/tmp/coleslaw"
)
;; * Prerequisites described in plugin docs.

12
Dockerfile Normal file
View file

@ -0,0 +1,12 @@
FROM ubuntu:latest
RUN apt-get update && apt-get upgrade -y && apt-get install -y curl jq rsync
RUN curl -sL `curl -s https://api.github.com/repos/roswell/roswell/releases/latest \
| jq -r '.assets | .[] | select(.name|test("deb$")) | .browser_download_url'` \
--output roswell.deb \
&& apt install -y ./roswell.deb
RUN ros install coleslaw-org/coleslaw
ENV PATH="/root/.evm/bin:/root/.roswell/bin:$PATH"
RUN coleslaw --help 2>&1

11
Jenkinsfile vendored Normal file
View file

@ -0,0 +1,11 @@
pipeline {
agent { dockerfile true }
stages {
stage('Build') {
steps {
sh "coleslaw"
}
}
}
}

57
themes/default/base.tmpl Normal file
View file

@ -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}

Binary file not shown.

After

Width:  |  Height:  |  Size: 672 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View file

@ -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
themes/default/index.tmpl Normal file
View file

@ -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
themes/default/post.tmpl Normal file
View file

@ -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}