Overview
| Comment: | More work on Scribble docs |
|---|---|
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
a4c851a4152449d55495005bc44998f2 |
| User & Date: | joel on 2019-02-18 20:05:43 |
| Other Links: | manifest | tags |
Context
|
2019-02-23
| ||
| 01:39 | Check for existing connection in init-db check-in: bd5c6a94 user: joel tags: trunk | |
|
2019-02-18
| ||
| 20:05 | More work on Scribble docs check-in: a4c851a4 user: joel tags: trunk | |
|
2019-02-17
| ||
| 23:03 | Add to scribble documentation check-in: 8f6399e3 user: joel tags: trunk | |
Changes
Modified code-docs/dust.scrbl from [0653072f] to [785c90f0].
| ︙ | ︙ | |||
63 64 65 66 67 68 69 70 71 72 |
Look up a value in @code{(current-metas)} that may or may not be present, returning the value of
@racket[_missing-expr] if it’s not there.
@defproc[(tx-strs [tx txexpr?]) string?]
Finds all the strings from the @emph{elements} of @racket[_tx] (ignoring attributes) and concatenates them together.
@defproc[(first-words [str string?] [n exact-nonnegative-integer?]) string?]
Returns a string containing the first @racket[_n] words of @racket[_str], removing any trailing
| > > > > | > > > > | 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
Look up a value in @code{(current-metas)} that may or may not be present, returning the value of
@racket[_missing-expr] if it’s not there.
@defproc[(tx-strs [tx txexpr?]) string?]
Finds all the strings from the @emph{elements} of @racket[_tx] (ignoring attributes) and concatenates them together.
@examples[#:eval dust-eval
(tx-strs '(p [[class "intro"]]
(em "I’m not opening the safe") ", Wilson remembers thinking."))]
@defproc[(first-words [str string?] [n exact-nonnegative-integer?]) string?]
Returns a string containing the first @racket[_n] words of @racket[_str], removing any trailing
punctuation. It will trip on opening punctuation or punctuation surrounded by spaces.
@examples[#:eval dust-eval
(first-words "Another time, perhaps." 2)
(first-words "‘One problem’ – it don’t always do punctuation right." 3)]
@section{Article parsers and helpers}
@defproc[(default-title [date string?]) string?]
Titles are not required for articles, but there are contexts where you need something that
serves as a title if one is not present, and that’s what this function supplies.
|
| ︙ | ︙ | |||
118 119 120 121 122 123 124 |
@defproc[(notes->last-disposition-values [txprs (listof txexpr?)]) any]
Given a list of tagged X-expressions (ideally a list of @code{note}s), returns two values: the value
of the @racket['disposition] attribute for the last note that contains one, and the ID of that note.
@examples[#:eval dust-eval
| > > | | | < | | 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 |
@defproc[(notes->last-disposition-values [txprs (listof txexpr?)]) any]
Given a list of tagged X-expressions (ideally a list of @code{note}s), returns two values: the value
of the @racket['disposition] attribute for the last note that contains one, and the ID of that note.
@examples[#:eval dust-eval
(define notelist
(list
'(note [[date "2018-02-19"] [disposition "* problematic"]] "First note")
'(note [[date "2018-03-19"]] "Second note")
'(note [[date "2018-04-19"] [disposition "† recanted"]] "Third note")))
(notes->last-disposition-values notelist)]
@section{Date formatters}
@defproc[(ymd->english [ymd-string string?]) string?]
Converts a date-string of the form @code{"YYYY-MM-DD"} to a string of the form @code{"Monthname D,
YYYY"}.
|
| ︙ | ︙ |
Modified code-docs/pollen.scrbl from [62bb480c] to [85e2b6f4].
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#lang scribble/manual
@; Copyright (c) 2019 Joel Dueck
@;
@; 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.
@(require "scribble-helpers.rkt")
@(require (for-label "../pollen.rkt"
racket/base
txexpr
pollen/tag
pollen/setup
pollen/core
sugar/coerce))
| > | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
#lang scribble/manual
@; Copyright (c) 2019 Joel Dueck
@;
@; 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.
@(require "scribble-helpers.rkt")
@(require (for-label "../pollen.rkt"
"../dust.rkt"
racket/base
txexpr
pollen/tag
pollen/setup
pollen/core
sugar/coerce))
@title[#:tag "pollen-rkt"]{@filepath{pollen.rkt}}
@defmodule["pollen.rkt" #:packages ()]
The file @filepath{pollen.rkt} is implicitly @code{require}d in every template and every @code{#lang
pollen} file in the project. It defines the markup for all Pollen documents, and also re-provides
everything provided by @code{crystalize.rkt}.
|
| ︙ | ︙ | |||
69 70 71 72 73 74 75 | @defproc[(p [element xexpr?] ...) txexpr?] Wrap text in a paragraph. You almost never need to use this tag explicitly; just separate paragraphs by an empty line. Single newlines within a paragraph will be replaced by spaces, allowing you to use | | | 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
@defproc[(p [element xexpr?] ...) txexpr?]
Wrap text in a paragraph. You almost never need to use this tag explicitly;
just separate paragraphs by an empty line.
Single newlines within a paragraph will be replaced by spaces, allowing you to use
@ext-link["https://scott.mn/2014/02/21/semantic_linewrapping/"]{semantic line wrapping}.
@defproc[(newthought [element xexpr?] ...) txexpr?]
An inline style intended for the first few words of the first paragraph in a new section. Applies
a “small caps” style to the text. Any paragraph containing a @code{newthought} tag is given extra
vertical leading.
|
| ︙ | ︙ | |||
143 144 145 146 147 148 149 |
Add a note to the “Further Notes” section of the article. Notes are like blog comments but are
more rare and powerful; see @wiki{Differences from blogs}.
The @code{#:date} attribute is required and must be of the form @tt{YYYY-MM-DD}.
The @code{#:author} and @code{#:author-url} attributes can be used to credit notes from other
people. If the @code{#:author} attribute is not supplied then the value of @code{default-authorname}
| | | 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 |
Add a note to the “Further Notes” section of the article. Notes are like blog comments but are
more rare and powerful; see @wiki{Differences from blogs}.
The @code{#:date} attribute is required and must be of the form @tt{YYYY-MM-DD}.
The @code{#:author} and @code{#:author-url} attributes can be used to credit notes from other
people. If the @code{#:author} attribute is not supplied then the value of @code{default-authorname}
is used.
The @code{#:disposition} attribute is used for notes that update or alter the whole disposition of
the article. It must be a string of the form @racket[_mark _past-tense-verb], where @racket[_mark]
is a symbol suitable for use as a marker, such as * or †, and @racket[_past-tense-verb] is the word
you want used to describe the article’s current state. An article stating a metaphysical position
might later be marked “recanted”; a prophecy or prediction might be marked “fulfilled”.
|
| ︙ | ︙ |
Modified code-docs/scribble-helpers.rkt from [55b6ba42] to [20648ff4].
| ︙ | ︙ | |||
41 42 43 44 45 46 47 |
;; Link to a wiki page on the Fossil repository by specifying the title
(define (wiki title)
(hyperlink (string-append repo-url/ "wiki?name=" (uri-encode title))
title
#:style (style #f (list (attributes '((target . "_parent")))))))
(define (ext-link url-str . elems)
| | | 41 42 43 44 45 46 47 48 49 50 |
;; Link to a wiki page on the Fossil repository by specifying the title
(define (wiki title)
(hyperlink (string-append repo-url/ "wiki?name=" (uri-encode title))
title
#:style (style #f (list (attributes '((target . "_parent")))))))
(define (ext-link url-str . elems)
(keyword-apply hyperlink '(#:style) (list (style #f (list (attributes '((target . "_blank"))))))
url-str
elems))
|
Modified code-docs/scribble-iframe.html from [6fed1c69] to [5bb7d4b4].
|
| | > | | > | | 1 2 3 4 5 6 7 8 9 10 |
<div class='fossil-doc' data-title='Code Documentation' >
<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>
|