Commit 19f74396 authored by Eric Timmons's avatar Eric Timmons
Browse files

Add job to release docs

parent f74136e0
Pipeline #4748 failed with stages
in 1 minute and 8 seconds
include:
- template: 'Workflows/MergeRequest-Pipelines.gitlab-ci.yml'
- remote: 'https://gitlab.com/clci/gitlab-ci/-/raw/release/v1-stable/ci-cache.yml'
- remote: 'https://gitlab.com/clci/gitlab-ci/-/raw/release/v1-stable/clpm.yml'
stages:
- test
- deploy
.test:
extends:
- .clci ci cache per job
before_script:
- !reference [.clci clpm install, script]
- !reference [.clci clpm configure, script]
- $CLPM bundle install --no-resolve
generate docs:
image: clfoundation/sbcl
extends: .test
script:
- $CLPM bundle exec -- sbcl --script scripts/generate-docs.lisp
artifacts:
paths:
- doc/
pages:
stage: deploy
image: alpine
script:
- mv doc/ public/
- mv public/cl-tar-site.html public/index.html
- cp -a cl-tar-file public/cl-tar-file
artifacts:
paths:
- public
# cl-tar-site
Website for the cl-tar project
\ No newline at end of file
Website for the cl-tar project
This diff is collapsed.
This diff is collapsed.
body {
font-family: sans-serif;
margin: auto;
background-color: #FFFEFB;
color: #000000;
}
h1, h2, h3, h4, h5, h6 {
font-family: serif;
font-weight: bold;
text-shadow: 0.05em 0.05em 0.02em #DDDDDD;
}
h1 a {
border-bottom: none;
}
h2 a {
border-bottom: none;
}
h3 a {
border-bottom: none;
}
h4 a {
border-bottom: none;
}
h5 a {
border-bottom: none;
}
h1 {
font-size: 250%
}
h2 {
border-bottom: 0.05em solid #CCCCCC;
font-size: 200%;
}
h3 {
font-size: 150%;
}
h4 {
font-size: 130%;
}
h5 {
font-size: 110%;
margin-top: 0.75em;
margin-bottom: 0.5em;
}
h6 {
color: #777777;
background-color: inherit;
font-size: 100%;
}
hr {
height: 0.2em;
border: 0;
color: #CCCCCC;
background-color: #CCCCCC;
}
p, blockquote, table, pre {
line-height: 1.5;
margin: 0.5em 0 0 0;
}
ul, ol, dl {
padding-left: 1.1em;
list-style-position: outside;
/* margin: 0; */
}
li {
line-height: 1.5;
margin: 0 0 0 0;
}
pre {
background-color: #F5F3ED;
color: #000000;
border: 0.1em solid #CCCCCC;
line-height: 1.25em;
overflow: auto;
margin: 0.5em 0 0 0;
padding: 0.2em;
}
pre > code {
color: #222222;
}
code {
color: #222222;
}
a {
color: #222222;
text-decoration: none;
border-bottom: 1px solid;
}
h6 a {
color: #777777;
}
a:hover {
/* text-decoration: none; */
}
.reference-bullet {
}
.reference {
/* padding: 0.3em 0; */
/* background-color: #EEEEEE; */
}
.locative-type a {
text-decoration: none;
border-bottom: 0;
font-weight: bold;
}
.reference-object {
background-color: #EBE8E2;
padding: 0.1em;
border: solid 1px;
font-weight: bold;
}
.reference-object a {
border-bottom: none;
}
.locative-args {
font-style: italic;
}
.locative-args code {
font-family: sans-serif;
}
.navigation a {
color: #CCCCCC;
text-shadow: none;
border-bottom: none;
}
/* Option 1 for navigation links: just hide the links in the previous
line. Good because there is no jumping around of content as with
the other otptions. */
.navigation {
display: block;
visibility: hidden;
margin-bottom: -1.5em;
}
.outer-navigation:hover .navigation {
visibility: visible;
}
/* Option 2 for navigation links: heading moves right to make room for
the links. */
/* .navigation { */
/* display: none; */
/* } */
/* */
/* h1:hover .navigation, */
/* h2:hover .navigation, */
/* h3:hover .navigation, */
/* h4:hover .navigation, */
/* h5:hover .navigation, */
/* h6:hover .navigation { */
/* display: inline; */
/* } */
/* Option 3 for navigation links: heading moves down to make room for
the links. */
/* .navigation { */
/* display: none; */
/* } */
/* */
/* h1:hover .navigation, */
/* h2:hover .navigation, */
/* h3:hover .navigation, */
/* h4:hover .navigation, */
/* h5:hover .navigation, */
/* h6:hover .navigation { */
/* display: block; */
/* } */
/* Syntax highlighting with Colorize */
.symbol { color : #770055; background-color : transparent; border: 0px; margin: 0px;}
a.symbol:link { color : #229955; background-color : transparent; text-decoration: none; border: 0px; margin: 0px; }
a.symbol:active { color : #229955; background-color : transparent; text-decoration: none; border: 0px; margin: 0px; }
a.symbol:visited { color : #229955; background-color : transparent; text-decoration: none; border: 0px; margin: 0px; }
a.symbol:hover { color : #229955; background-color : transparent; text-decoration: none; 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; }
/* Disable rainbow nesting on hover */
/* 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; } */
#content-container
{
margin: 0;
padding: 0;
}
#content
{
margin-left: 40ex;
padding-left: 2.5em;
max-width: 85ex;
}
#toc {
top: 0px;
left: 0px;
height: 100%;
width: 40ex;
max-width: 33%;
position: fixed;
overflow-y:auto;
overflow-x:hidden;
background: #333;
box-shadow: inset -5px 0 5px 0px #000;
color: #aaa;
}
#toc ul {
font-size: 80%;
}
#toc li {
line-height: 1.0;
}
#toc a {
border-bottom: none;
}
#toc hr {
height: 0.05em;
border: 0;
background: #777;
}
#toc ul {
margin: 0;
padding: 0;
list-style: none;
}
#toc li {
padding: 5px 10px;
}
#toc .toc-h2 {
padding-left: 10px;
}
#toc .toc-h3 {
padding-left: 20px;
}
#toc .toc-h4 {
padding-left: 30px;
}
#toc .toc-active {
background: #336699;
box-shadow: inset -5px 0px 10px -5px #000;
}
#page-toc a {
color: #fff;
}
.menu-block {
padding-left: 10px;
margin-bottom: 1em;
}
.menu-block-title {
font-size: 90%;
}
.menu-block a {
color: #fff;
border-bottom: none;
}
#toc-header a {
color: #777777;
}
#toc-footer a {
font-size: 80%;
color: #777777;
}
/*!
* toc - jQuery Table of Contents Plugin
* v0.3.2
* http://projects.jga.me/toc/
* copyright Greg Allen 2014
* MIT License
*/
!function(a){a.fn.smoothScroller=function(b){b=a.extend({},a.fn.smoothScroller.defaults,b);var c=a(this);return a(b.scrollEl).animate({scrollTop:c.offset().top-a(b.scrollEl).offset().top-b.offset},b.speed,b.ease,function(){var a=c.attr("id");a.length&&(history.pushState?history.pushState(null,null,"#"+a):document.location.hash=a),c.trigger("smoothScrollerComplete")}),this},a.fn.smoothScroller.defaults={speed:400,ease:"swing",scrollEl:"body,html",offset:0},a("body").on("click","[data-smoothscroller]",function(b){b.preventDefault();var c=a(this).attr("href");0===c.indexOf("#")&&a(c).smoothScroller()})}(jQuery),function(a){var b={};a.fn.toc=function(b){var c,d=this,e=a.extend({},jQuery.fn.toc.defaults,b),f=a(e.container),g=a(e.selectors,f),h=[],i=e.activeClass,j=function(b,c){if(e.smoothScrolling&&"function"==typeof e.smoothScrolling){b.preventDefault();var f=a(b.target).attr("href");e.smoothScrolling(f,e,c)}a("li",d).removeClass(i),a(b.target).parent().addClass(i)},k=function(){c&&clearTimeout(c),c=setTimeout(function(){for(var b,c=a(window).scrollTop(),f=Number.MAX_VALUE,g=0,j=0,k=h.length;k>j;j++){var l=Math.abs(h[j]-c);f>l&&(g=j,f=l)}a("li",d).removeClass(i),b=a("li:eq("+g+")",d).addClass(i),e.onHighlight(b)},50)};return e.highlightOnScroll&&(a(window).bind("scroll",k),k()),this.each(function(){var b=a(this),c=a(e.listType);g.each(function(d,f){var g=a(f);h.push(g.offset().top-e.highlightOffset);var i=e.anchorName(d,f,e.prefix);if(f.id!==i){a("<span/>").attr("id",i).insertBefore(g)}var l=a("<a/>").text(e.headerText(d,f,g)).attr("href","#"+i).bind("click",function(c){a(window).unbind("scroll",k),j(c,function(){a(window).bind("scroll",k)}),b.trigger("selected",a(this).attr("href"))}),m=a("<li/>").addClass(e.itemClass(d,f,g,e.prefix)).append(l);c.append(m)}),b.html(c)})},jQuery.fn.toc.defaults={container:"body",listType:"<ul/>",selectors:"h1,h2,h3",smoothScrolling:function(b,c,d){a(b).smoothScroller({offset:c.scrollToOffset}).on("smoothScrollerComplete",function(){d()})},scrollToOffset:0,prefix:"toc",activeClass:"toc-active",onHighlight:function(){},highlightOnScroll:!0,highlightOffset:100,anchorName:function(c,d,e){if(d.id.length)return d.id;var f=a(d).text().replace(/[^a-z0-9]/gi," ").replace(/\s+/g,"-").toLowerCase();if(b[f]){for(var g=2;b[f+g];)g++;f=f+"-"+g}return b[f]=!0,e+"-"+f},headerText:function(a,b,c){return c.text()},itemClass:function(a,b,c,d){return d+"-"+c[0].tagName.toLowerCase()}}}(jQuery);
;;; -*- mode: lisp -*-
(asdf:defsystem #:cl-tar-site
:version "0.0.1"
:author "Eric Timmons <eric@timmons.dev>"
:description "Website for cl-tar project."
:license "MIT"
:depends-on ("40ants-doc-full" "40ants-doc")
:pathname "src/"
:components ((:file "package")
(:file "utils" :depends-on ("package"))
(:file "cl-tar-site" :depends-on ("package" "utils"))))
;;; -*- mode: common-lisp -*-
(:api-version "0.3")
(:source "quicklisp"
:type :ql-clpi
:url "https://quicklisp.common-lisp-project-index.org/")
;; Needed because QL dependencies suck. These are dependencies of 40ants-doc.
(:system "named-readtables")
(:system "pythonic-string-reader")
;; And these are deps for 40ants-doc-full (to actually generate the
;; documentation).
(:system "40ants-doc-full")
(:system "3bmd")
(:system "3bmd-ext-code-blocks")
(:system "babel")
(:system "closer-mop")
(:system "swank")
(:system "cl-ppcre")
(:system "cl-ppcre-unicode")
(:system "ironclad")
(:system "cl-fad")
(:system "str")
;; Needed to build cl-unicode
(:system "flexi-streams")
(:asd "cl-tar-site.asd")
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; This is autogenerated by CLPM. Do not edit by hand.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(:api-version "0.4")
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; BEGIN SOURCES
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
:sources
(:implicit-file :type :file-system :system-files ("cl-tar-site.asd"))
("quicklisp" :url "https://quicklisp.common-lisp-project-index.org/" :type
:ql-clpi)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; BEGIN REQUIREMENTS
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
:requirements
(:asd-file :name "cl-tar-site.asd")
(:system :name "flexi-streams")
(:system :name "str")
(:system :name "cl-fad")
(:system :name "ironclad")
(:system :name "cl-ppcre-unicode")
(:system :name "cl-ppcre")
(:system :name "swank")
(:system :name "closer-mop")
(:system :name "babel")
(:system :name "3bmd-ext-code-blocks")
(:system :name "3bmd")
(:system :name "40ants-doc-full")
(:system :name "pythonic-string-reader")
(:system :name "named-readtables")
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; BEGIN RELEASES
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
:releases
("3bmd" :version "2021-04-11" :source "quicklisp" :systems
("3bmd" "3bmd-ext-code-blocks"))
("alexandria" :version "2021-08-07" :source "quicklisp" :systems ("alexandria"))
("babel" :version "2020-09-25" :source "quicklisp" :systems ("babel"))
("bordeaux-threads" :version "2020-06-10" :source "quicklisp" :systems
("bordeaux-threads"))
("cl-change-case" :version "2021-04-11" :source "quicklisp" :systems
("cl-change-case"))
("cl-fad" :version "2021-01-24" :source "quicklisp" :systems ("cl-fad"))
("cl-ppcre" :version "2019-05-21" :source "quicklisp" :systems
("cl-ppcre" "cl-ppcre-unicode"))
("cl-str" :version "2021-05-31" :source "quicklisp" :systems ("str"))
("cl-tar-site.asd" :version :newest :source :implicit-file :systems
("cl-tar-site"))
("cl-unicode" :version "2021-02-28" :source "quicklisp" :systems ("cl-unicode"))
("closer-mop" :version "2021-08-07" :source "quicklisp" :systems ("closer-mop"))
("colorize" :version "2018-02-28" :source "quicklisp" :systems ("colorize"))
("doc" :version "2021-06-30" :source "quicklisp" :systems
("40ants-doc" "40ants-doc-full"))
("esrap" :version "2020-12-20" :source "quicklisp" :systems ("esrap"))
("flexi-streams" :version "2021-08-07" :source "quicklisp" :systems
("flexi-streams"))
("html-encode" :version "2010-10-07" :source "quicklisp" :systems
("html-encode"))
("ironclad" :version "2021-04-11" :source "quicklisp" :systems ("ironclad"))
("named-readtables" :version "2021-05-31" :source "quicklisp" :systems
("named-readtables"))
("pythonic-string-reader" :version "2018-07-11" :source "quicklisp" :systems
("pythonic-string-reader"))
("slime" :version "2020-12-20" :source "quicklisp" :systems ("swank"))
("split-sequence" :version "2021-05-31" :source "quicklisp" :systems
("split-sequence"))
("trivial-features" :version "2021-04-11" :source "quicklisp" :systems
("trivial-features"))
("trivial-gray-streams" :version "2021-01-24" :source "quicklisp" :systems
("trivial-gray-streams"))
("trivial-with-current-source-form" :version "2021-06-30" :source "quicklisp"
:systems ("trivial-with-current-source-form"))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; BEGIN REVERSE-DEPENDENCIES
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
:reverse-dependencies
("3bmd" ((:system :name "3bmd-ext-code-blocks") (:system :name "3bmd"))
(t (:system :name "3bmd")) (t (:system :name "3bmd-ext-code-blocks")))
("alexandria"
((:system :name "trivial-with-current-source-form")
(:system :name "alexandria"))
((:system :name "esrap") (:system :name "alexandria"))
((:system :name "colorize") (:system :name "alexandria"))
((:system :name "cl-fad") (:system :name "alexandria"))
((:system :name "bordeaux-threads") (:system :name "alexandria"))
((:system :name "babel") (:system :name "alexandria"))
((:system :name "3bmd-ext-code-blocks") (:system :name "alexandria"))
((:system :name "3bmd") (:system :name "alexandria")))
("babel" (t (:system :name "babel")))
("bordeaux-threads"
((:system :name "ironclad") (:system :name "bordeaux-threads"))
((:system :name "cl-fad") (:system :name "bordeaux-threads")))
("cl-change-case" ((:system :name "str") (:system :name "cl-change-case")))
("cl-fad" (t (:system :name "cl-fad")))
("cl-ppcre" ((:system :name "str") (:system :name "cl-ppcre"))
((:system :name "str") (:system :name "cl-ppcre-unicode"))
((:system :name "cl-unicode") (:system :name "cl-ppcre"))
((:system :name "cl-ppcre-unicode") (:system :name "cl-ppcre"))
((:system :name "cl-change-case") (:system :name "cl-ppcre"))
((:system :name "cl-change-case") (:system :name "cl-ppcre-unicode"))
(t (:system :name "cl-ppcre-unicode")) (t (:system :name "cl-ppcre")))
("cl-str" (t (:system :name "str")))
("cl-tar-site.asd" (t (:asd-file :name "cl-tar-site.asd")))
("cl-unicode" ((:system :name "cl-ppcre-unicode") (:system :name "cl-unicode")))
("closer-mop" (t (:system :name "closer-mop")))
("colorize" ((:system :name "3bmd-ext-code-blocks") (:system :name "colorize")))
("doc" ((:system :name "cl-tar-site") (:system :name "40ants-doc-full"))
((:system :name "cl-tar-site") (:system :name "40ants-doc"))
(t (:system :name "40ants-doc-full")))
("esrap" ((:system :name "3bmd") (:system :name "esrap")))
("flexi-streams" (t (:system :name "flexi-streams")))
("html-encode" ((:system :name "colorize") (:system :name "html-encode")))
("ironclad" (t (:system :name "ironclad")))
("named-readtables"
((:system :name "pythonic-string-reader") (:system :name "named-readtables"))
(t (:system :name "named-readtables")))
("pythonic-string-reader" (t (:system :name "pythonic-string-reader")))
("slime" (t (:system :name "swank")))
("split-sequence" ((:system :name "colorize") (:system :name "split-sequence"))
((:system :name "3bmd-ext-code-blocks") (:system :name "split-sequence"))
((:system :name "3bmd") (:system :name "split-sequence")))
("trivial-features"
((:system :name "babel") (:system :name "trivial-features")))
("trivial-gray-streams"
((:system :name "flexi-streams") (:system :name "trivial-gray-streams")))
("trivial-with-current-source-form"
((:system :name "esrap") (:system :name "trivial-with-current-source-form")))
(require "asdf")
(asdf:load-system :cl-tar-site)
(cl-tar-site::generate-docs)
;;; This file is part of cl-tar-site. See LICENSE and README.md for more
;;; information.
(in-package #:cl-tar-site)
(defsection @cl-tar-site (:title "CL-TAR Project")
"The CL-TAR project works on making tar files readable and writeable directly
from Common Lisp, without shelling out to a tar executable. There are two sub
projects under the CL-TAR umbrella.
The first is
[cl-tar-file](https://gitlab.common-lisp.net/cl-tar/cl-tar-file). It defines a