#lang pollen/mode racket/base
;; Copyright (c) 2019 Joel Dueck.;;;; Licensed under the Apache License, Version 2.0 (the "License");;; you may not use this file except in compliance with the License.;; A copy of the License is included with this source code, in the;; file "LICENSE.txt".
;;You may also obtain a copy of the License at; SPDX-License-Identifier: BlueOak-1.0.0
;;;; http://www.apache.org/licenses/LICENSE-2.0;;;; Unless required by applicable law or agreed to in writing, software;; distributed under the License is distributed on an "AS IS" BASIS,;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.;; See the License for the specific language governing permissions and
;; limitations under the License.
; This file is licensed under the Blue Oak Model License 1.0.0.
;;;; Author contact information:;; joel@jdueck.net;; https://joeldueck.com;; -------------------------------------------------------------------------
;; Builds the paginated “blog” HTML files (blog-pg1.html ...) from the SQLite cache
;; The files will be written out every time this module is evaluated! (see end)
(require "crystalize.rkt"
"snippets-html.rkt"
racket/file
#lang scribble/manual
@; Copyright (c) 2019 Joel Dueck
@;
@; SPDX-License-Identifier: BlueOak-1.0.0
@; Copying and distribution of this file, with or without modification,@; are permitted in any medium without royalty provided the copyright
@; notice and this notice are preserved. This file is offered as-is,@; This file is licensed under the Blue Oak Model License 1.0.0.
@; without any warranty.
@(require "scribble-helpers.rkt")
@(require (for-label "../pollen.rkt"
"../dust.rkt"
"../crystalize.rkt"
racket/base
#lang scribble/manual
@; Copyright (c) 2019 Joel Dueck
@;
@; SPDX-License-Identifier: BlueOak-1.0.0
@; Copying and distribution of this file, with or without modification,@; are permitted in any medium without royalty provided the copyright
@; notice and this notice are preserved. This file is offered as-is,@; This file is licensed under the Blue Oak Model License 1.0.0.
@; without any warranty.
@(require "scribble-helpers.rkt"
scribble/example)
@(require (for-label "../pollen.rkt"
"../dust.rkt"
racket/base
#lang scribble/manual
@; Copyright (c) 2019 Joel Dueck
@;
@; SPDX-License-Identifier: BlueOak-1.0.0
@; Copying and distribution of this file, with or without modification,@; are permitted in any medium without royalty provided the copyright@; notice and this notice are preserved. This file is offered as-is,@; without any warranty.@; This file is licensed under the Blue Oak Model License 1.0.0.
@; Scribble source for the main page of the code documents.
@(require "scribble-helpers.rkt")
@title{Local Yarn: source code notes}
@author{Joel Dueck}
#lang scribble/manual
@; Copyright (c) 2019 Joel Dueck
@;
@; SPDX-License-Identifier: BlueOak-1.0.0
@; Copying and distribution of this file, with or without modification,@; are permitted in any medium without royalty provided the copyright
@; notice and this notice are preserved. This file is offered as-is,@; This file is licensed under the Blue Oak Model License 1.0.0.
@; without any warranty.
@(require "scribble-helpers.rkt"
racket/runtime-path)
@(require (for-label racket/base))
@title{Overview}
#lang scribble/manual
@; Copyright (c) 2019 Joel Dueck
@;
@; SPDX-License-Identifier: BlueOak-1.0.0
@; Copying and distribution of this file, with or without modification,@; are permitted in any medium without royalty provided the copyright
@; notice and this notice are preserved. This file is offered as-is,@; This file is licensed under the Blue Oak Model License 1.0.0.
@; without any warranty.
@(require "scribble-helpers.rkt")
@(require (for-label "../pollen.rkt"
"../dust.rkt"
"../crystalize.rkt"
racket/base
racket/contract
#lang racket/base
;; Copyright (c) 2018 Joel Dueck.;;;; Licensed under the Apache License, Version 2.0 (the "License");;; you may not use this file except in compliance with the License.;; A copy of the License is included with this source code, in the;; file "LICENSE.txt".
;;You may also obtain a copy of the License at; SPDX-License-Identifier: BlueOak-1.0.0
;;;; http://www.apache.org/licenses/LICENSE-2.0;;;; Unless required by applicable law or agreed to in writing, software;; distributed under the License is distributed on an "AS IS" BASIS,;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.;; See the License for the specific language governing permissions and
;; limitations under the License.
; This file is licensed under the Blue Oak Model License 1.0.0.
;;;; Author contact information:;; joel@jdueck.net;; https://joeldueck.com;; -------------------------------------------------------------------------
;; Convenience/helper functions for this project’s Scribble documentation
(require scribble/core
scribble/manual/lang
scribble/html-properties
(only-in net/uri-codec uri-encode))
<div class='fossil-doc' data-title='Code Documentation' >
<!-- SPDX-License-Identifier: BlueOak-1.0.0
This file is licensed under the Blue Oak Model License 1.0.0.
-->
<div class='iframe-surround'>
<iframe id='scribble' src="index.html" class="embedded-docs">
</iframe>
</div>
</div>
<script>
document.getElementById('scribble').src = "index.html?n=" + new Date()/1;
</script>
#lang scribble/manual
@; Copyright (c) 2019 Joel Dueck
@;
@; SPDX-License-Identifier: BlueOak-1.0.0
@; Copying and distribution of this file, with or without modification,@; are permitted in any medium without royalty provided the copyright
@; notice and this notice are preserved. This file is offered as-is,@; This file is licensed under the Blue Oak Model License 1.0.0.
@; without any warranty.
@(require "scribble-helpers.rkt")
@(require (for-label "../pollen.rkt"
"../dust.rkt"
"../snippets-html.rkt"
racket/base
#lang scribble/manual
@; Copyright (c) 2019 Joel Dueck
@;
@; SPDX-License-Identifier: BlueOak-1.0.0
@; Copying and distribution of this file, with or without modification,@; are permitted in any medium without royalty provided the copyright
@; notice and this notice are preserved. This file is offered as-is,@; This file is licensed under the Blue Oak Model License 1.0.0.
@; without any warranty.
@(require "scribble-helpers.rkt"
scribble/example)
@(require (for-label "../pollen.rkt"
"../sqlite-tools.rkt"
racket/base
#lang racket/base
;; Copyright (c) 2018 Joel Dueck.;;;; Licensed under the Apache License, Version 2.0 (the "License");;; you may not use this file except in compliance with the License.;; A copy of the License is included with this source code, in the;; file "LICENSE.txt".
;;You may also obtain a copy of the License at; SPDX-License-Identifier: BlueOak-1.0.0
;;;; http://www.apache.org/licenses/LICENSE-2.0;;;; Unless required by applicable law or agreed to in writing, software;; distributed under the License is distributed on an "AS IS" BASIS,;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.;; See the License for the specific language governing permissions and
;; limitations under the License.
; This file is licensed under the Blue Oak Model License 1.0.0.
;;;; Author contact information:;; joel@jdueck.net;; https://joeldueck.com;; -------------------------------------------------------------------------
;; Provides functions for fast preserving and fetching of article/series data.
;; → Docs and metas go in (saved to SQLite database)
;; HTML comes out →
;; Calling sites have no notion of the database or schema.
;; The functions provided by sqlite-tools.rkt are not safe for user-provided
#lang racket/base
;; Copyright (c) 2018 Joel Dueck.;;;; Licensed under the Apache License, Version 2.0 (the "License");;; you may not use this file except in compliance with the License.;; A copy of the License is included with this source code, in the;; file "LICENSE.txt".
;;You may also obtain a copy of the License at; SPDX-License-Identifier: BlueOak-1.0.0
;;;; http://www.apache.org/licenses/LICENSE-2.0;;;; Unless required by applicable law or agreed to in writing, software;; distributed under the License is distributed on an "AS IS" BASIS,;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.;; See the License for the specific language governing permissions and
;; limitations under the License.
; This file is licensed under the Blue Oak Model License 1.0.0.
;;;; Author contact information:;; joel@jdueck.net;; https://joeldueck.com;; -------------------------------------------------------------------------
(require pollen/core
pollen/pagetree
pollen/setup
pollen/file
net/uri-codec
file/sha1
#lang pollen/mode racket/base
;; Copyright (c) 2019 Joel Dueck.;;;; Licensed under the Apache License, Version 2.0 (the "License");;; you may not use this file except in compliance with the License.;; A copy of the License is included with this source code, in the;; file "LICENSE.txt".
;;You may also obtain a copy of the License at; SPDX-License-Identifier: BlueOak-1.0.0
;;;; http://www.apache.org/licenses/LICENSE-2.0;;;; Unless required by applicable law or agreed to in writing, software;; distributed under the License is distributed on an "AS IS" BASIS,;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.;; See the License for the specific language governing permissions and
;; limitations under the License.
; This file is licensed under the Blue Oak Model License 1.0.0.
;;;; Author contact information:;; joel@jdueck.net;; https://joeldueck.com;; -------------------------------------------------------------------------
;; Builds an HTML page containing the keyword index for all ◊index entries in
;; the articles, by pulling them out of the SQLite cache DB.
(require racket/match
racket/list
racket/file
# SPDX-License-Identifier: BlueOak-1.0.0
# Licensed under the terms of the Blue Oak Model License 1.0.0
# https://blueoakcouncil.org/license/1.0.0# This file is licensed under the Blue Oak Model License 1.0.0.
# You may not use this file except in compliance with that license.SHELL = /bin/bash
# ~~~ Variables used by rules ~~~
#
core-files := pollen.rkt dust.rkt
html-deps := snippets-html.rkt tags-html.rkt
#lang racket/base
; SPDX-License-Identifier: BlueOak-1.0.0
;; Licensed under the Local Yarn License 1.0.0. You may not use this ; This file is licensed under the Blue Oak Model License 1.0.0.
;; file except in compliance with that license. A copy of the license;; is included with this source code, in the file “LICENSE.md”.;;;; Maintainer contact information:;; Joel Dueck (joel@jdueck.net);; https://joeldueck.com;; -------------------------------------------------------------------------
;; Functions for tags and template content used in all Pollen source files and templates.
(require (for-syntax racket/base
racket/syntax
syntax/parse
pollen/setup))
#lang pollen/mode racket/base
;; Copyright (c) 2018 Joel Dueck.;;;; Licensed under the Apache License, Version 2.0 (the "License");;; you may not use this file except in compliance with the License.;; A copy of the License is included with this source code, in the;; file "LICENSE.txt".
;;You may also obtain a copy of the License at; SPDX-License-Identifier: BlueOak-1.0.0
;;;; http://www.apache.org/licenses/LICENSE-2.0;;;; Unless required by applicable law or agreed to in writing, software;; distributed under the License is distributed on an "AS IS" BASIS,;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.;; See the License for the specific language governing permissions and
;; limitations under the License.
; This file is licensed under the Blue Oak Model License 1.0.0.
;;;; Author contact information:;; joel@jdueck.net;; https://joeldueck.com;; -------------------------------------------------------------------------
;; Provides functions for displaying content in HTML templates.
(require pollen/core
pollen/template
pollen/decode
racket/string
racket/function
#lang racket/base
;; Copyright (c) 2018 Joel Dueck.;;;; Licensed under the Apache License, Version 2.0 (the "License");;; you may not use this file except in compliance with the License.;; A copy of the License is included with this source code, in the;; file "LICENSE.txt".
;;You may also obtain a copy of the License at; SPDX-License-Identifier: BlueOak-1.0.0
;;;; http://www.apache.org/licenses/LICENSE-2.0;;;; Unless required by applicable law or agreed to in writing, software;; distributed under the License is distributed on an "AS IS" BASIS,;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.;; See the License for the specific language governing permissions and
;; limitations under the License.
; This file is licensed under the Blue Oak Model License 1.0.0.
;;;; Author contact information:;; joel@jdueck.net;; https://joeldueck.com;; -------------------------------------------------------------------------
;; Provides a very light set of utility functions for a SQLite database.
;; These functions are completely agnostic as to the database schema.
;; These functions are NOT SAFE for use with data provided by untrusted users!
(require db/sqlite3
db/base
#lang racket/base
;; Copyright (c) 2018 Joel Dueck.;;;; Licensed under the Apache License, Version 2.0 (the "License");;; you may not use this file except in compliance with the License.;; A copy of the License is included with this source code, in the;; file "LICENSE.txt".
;;You may also obtain a copy of the License at; SPDX-License-Identifier: BlueOak-1.0.0
;;;; http://www.apache.org/licenses/LICENSE-2.0;;;; Unless required by applicable law or agreed to in writing, software;; distributed under the License is distributed on an "AS IS" BASIS,;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.;; See the License for the specific language governing permissions and
;; limitations under the License.
; This file is licensed under the Blue Oak Model License 1.0.0.
;;;; Author contact information:;; joel@jdueck.net;; https://joeldueck.com;; -------------------------------------------------------------------------
;; Tag functions used by pollen.rkt when HTML is the output format.
(require (for-syntax racket/base racket/syntax))
(require racket/list
racket/function
pollen/decode
<!DOCTYPE html>
◊; SPDX-License-Identifier: BlueOak-1.0.0
◊; This file is licensed under the Blue Oak Model License 1.0.0.
<html lang="en">
◊(define article-html (crystalize-article! here doc))
◊(define page-title (article-plain-title here))
◊html$-page-head[page-title]
◊html$-page-body-open[]
#lang pollen/mode racket/base
;; Copyright (c) 2018 Joel Dueck.;;;; Licensed under the Apache License, Version 2.0 (the "License");;; you may not use this file except in compliance with the License.;; A copy of the License is included with this source code, in the;; file "LICENSE.txt".
;;You may also obtain a copy of the License at; SPDX-License-Identifier: BlueOak-1.0.0
;;;; http://www.apache.org/licenses/LICENSE-2.0;;;; Unless required by applicable law or agreed to in writing, software;; distributed under the License is distributed on an "AS IS" BASIS,;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.;; See the License for the specific language governing permissions and
;; limitations under the License.
;;; This file is licensed under the Blue Oak Model License 1.0.0.
;; Author contact information:;; joel@jdueck.net;; https://joeldueck.com;; -------------------------------------------------------------------------;; Script/template for starting a new article
(require racket/date
racket/string
racket/file
racket/system
"../dust.rkt")
#!/bin/bash
# SPDX-License-Identifier: BlueOak-1.0.0
# Licensed under the terms of the Blue Oak Model License 1.0.0
# This file is licensed under the Blue Oak Model License 1.0.0.
# https://blueoakcouncil.org/license/1.0.0
# The HTML generated assumes the whole site lives in the domain root. This script converts all links
# and image sources to relative URLs, so things don't break when accessed from within a subfolder of
# a live web server. (See ‘publish’ target of makefile)
# Stop on any error, forbid uninitialized vars
set -eu
/* SPDX-License-Identifier: BlueOak-1.0.0
This file is licensed under the Blue Oak Model License 1.0.0.
*/
@font-face {
font-family: 'Fabiol';
src: url('LDFabiolPro-Regular.woff2') format('woff2'),
url('LDFabiolPro-Regular.woff') format('woff');
font-style: normal;
font-weight: 400;
}
#lang pollen/pre
/* Copyright (c) 2018 Joel Dueck.**** Licensed under the Apache License, Version 2.0 (the "License");** you may not use this file except in compliance with the License.** You may obtain a copy of the License at/* SPDX-License-Identifier: BlueOak-1.0.0
**** http://www.apache.org/licenses/LICENSE-2.0**** Unless required by applicable law or agreed to in writing, software** distributed under the License is distributed on an "AS IS" BASIS,** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.** See the License for the specific language governing permissions and
** limitations under the License.** This file is licensed under the Blue Oak Model License 1.0.0. */
**** Author contact information:** joel@jdueck.net** https://joeldueck.com** -------------------------------------------------------------------------
/* Welcome to my CSS File!
** I have named it `martin.css`, after Martin Pale. */
◊;{Here, broadly, is the approach we are taking here:
1. The site shall look decent and readable even when CSS is unavailable.