commit 0078af1036168ae90baf42f811acc09f90e4566a parent 7199cd185a4da7fd73dff5e54b9cb1bb5cbfc05b Author: finwo <finwo@pm.me> Date: Fri, 5 Jun 2020 13:02:49 +0200 Readme and index.html are now automatically updated on build Diffstat:
26 files changed, 486 insertions(+), 165 deletions(-)
diff --git a/README.md b/README.md @@ -16,6 +16,7 @@ their own requirements. ### Table of contents - [INDEX](docs/index.html) Hosted index -- [SPEC0000](docs/spec/0000.txt) Specification Format -- [SPEC0001](docs/spec/0001.txt) Javascript Styling -- [SPEC0002](docs/spec/0002.pdf) Ratus Unilicense +- [SD0000](docs/spec/0000.pdf) Specification Format +- [SD0001](docs/spec/0001.pdf) JavaScript Styling +- [SD0002](docs/spec/0002.pdf) Ratus Unilicense 1.0 +- [SD0003](docs/spec/0003.pdf) Specification Style Guide diff --git a/build.sh b/build.sh @@ -1,23 +1,44 @@ #!/usr/bin/env bash -echo "Building..." -ORGDIR=$(pwd) +echo "Building specifications" +ORGDIR=$(pwd)/src/spec SPECDIR=$(pwd)/docs/spec -cd src -for filename in $(find . -type f -regextype posix-egrep -regex '\./[0-9]{4}.*\.(tex|txt)'); do - echo $f +# Write readme & html headers +cat src/html/index.html.head > docs/index.html +cat src/markdown/README.md.head > README.md + +find ${ORGDIR} -maxdepth 1 -type d -regextype posix-egrep -regex '.*[0-9]{4}' | sort | while read spec; do + + # Read specification document data + declare -A DATA + while IFS='=' read key value; do + DATA["$key"]="$value" + done <<< "$(script/ini.sh ${spec}/data.ini)" + + # Show we're actually working + echo " ${DATA[identifier]}: ${DATA[title]}" + + # Render readme & html entries + script/template.sh -c ${spec}/data.ini src/html/index.html.entry >> docs/index.html + script/template.sh -c ${spec}/data.ini src/markdown/README.md.entry >> README.md + + # Check how to render the document itself + filename=$(echo ${spec}/document.*) case "${filename##*.}" in tex) - pdflatex ${filename} - pdflatex ${filename} - cp ${filename%.*}.pdf ${SPECDIR} + pdflatex ${filename} >/dev/null + pdflatex ${filename} >/dev/null + cp document.pdf ${SPECDIR}/${DATA[identifier]}.pdf rm -f *.pdf rm -f *.aux rm -f *.log rm -f *.toc ;; txt) + # Include render data + script/template.sh -c ${spec}/data.ini ${filename} >> ${filename}.rendered + # Font: Courier # 10pt font # 12pt line height @@ -27,7 +48,17 @@ for filename in $(find . -type f -regextype posix-egrep -regex '\./[0-9]{4}.*\.( # Based on A4 paper # -c81 because of a minor bug in text2pdf - text2pdf -fCourier -s10 -v12 -l60 -c81 -t8 -A4 ${filename} > ${SPECDIR}/${filename%.*}.pdf + text2pdf -fCourier -s10 -v12 -l60 -c81 -t8 -A4 ${filename}.rendered > ${SPECDIR}/${DATA[identifier]}.pdf + + # Remove rendered version + rm ${filename}.rendered ;; + *) + echo "Unknown document type: ${filename##*.}" 1>&2 + exit 1 esac done + +# Write readme & html footers +cat src/html/index.html.tail >> docs/index.html +cat src/markdown/README.md.tail >> README.md diff --git a/docs/index.html b/docs/index.html @@ -58,27 +58,27 @@ <tbody> <tr href="spec/0000.pdf"> <td>0000</td> - <td>Specification Format</td> + <td>0000</td> <td href='#q=0003'>0003</td> - <td href="license/cc-by-4.0.txt">CC-by-4.0</td> + <td href="license/CC-by-4.0.txt">CC-by-4.0</td> </tr> <tr href="spec/0001.pdf"> <td>0001</td> - <td>Javascript Styling</td> - <td></td> - <td href="license/cc-by-4.0.txt">CC-by-4.0</td> + <td>0001</td> + <td href='#q='></td> + <td href="license/CC-by-4.0.txt">CC-by-4.0</td> </tr> <tr href="spec/0002.pdf"> <td>0002</td> - <td>Ratus Unilicense</td> - <td></td> - <td href="license/cc-by-4.0.txt">CC-by-4.0</td> + <td>0002</td> + <td href='#q='></td> + <td href="license/CC-by-4.0.txt">CC-by-4.0</td> </tr> <tr href="spec/0003.pdf"> <td>0003</td> - <td>Specification Style Guide</td> - <td></td> - <td href="license/cc-by-4.0.txt">CC-by-4.0</td> + <td>0003</td> + <td href='#q='></td> + <td href="license/CC-by-4.0.txt">CC-by-4.0</td> </tr> </tbody> </table> diff --git a/docs/license/cc-by-4.0.txt b/docs/license/CC-by-4.0.txt diff --git a/script/ini.sh b/script/ini.sh @@ -0,0 +1,55 @@ +#!/usr/bin/env bash +shopt -s extglob + +readonly PROGNAME=$(basename $0) +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" + +# Usage string +usage=" +Usage: + ${PROGNAME} ini-file [token] +" + +# No file = no data +inifile="${1}" +if [[ ! -f "$inifile" ]]; then + exit +fi + +# Process the file line-by-line +SECTION= +while read line; do + + # Remove surrounding whitespace + line=${line##*( )} # From the beginning + line=${line%%*( )} # From the end + + # Remove comments and empty lines + if [[ "${line:0:1}" == ';' ]] || [[ "${#line}" == 0 ]]; then + continue + fi + + # Handle section markers + if [[ "${line:0:1}" == "[" ]]; then + SECTION=$(echo $line | sed -e 's/\[\(.*\)\]/\1/') + SECTION=${SECTION##*( )} + SECTION=${SECTION%%*( )} + SECTION="${SECTION}." + continue + fi + + # Output found variable + NAME=${line%%=*} + NAME=${NAME%%*( )} + VALUE=${line##*=} + VALUE=${VALUE##*( )} + + # Output searched or all + if [[ -z "${2}" ]]; then + echo "${SECTION}${NAME}=${VALUE}" + fi + if [[ "${SECTION}${NAME}" = "${2}" ]]; then + echo "${VALUE}" + fi + +done < "${inifile}" diff --git a/script/template.sh b/script/template.sh @@ -0,0 +1,66 @@ +#!/usr/bin/env bash + +# Very simple templating system that replaces {{VAR}} by the value of $VAR. + +# Replaces all {{VAR}} by the $VAR value in a template file and outputs it + +readonly PROGNAME=$(basename $0) +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" + +# Usage string +usage=" +Usage: + ${PROGNAME} -h|--help + ${PROGNAME} [-c|--config config_file] template_file [...template_file] + +Options: + -h --help Show this help text + -c --config Specify config file +" + +# Declare storage +declare -A TOKENS +declare -A TEMPLATES +INDEX=0 + +# Parse arguments +while [ "$#" -gt 0 ]; do + case "$1" in + -h|--help) + echo "$usage" + exit 0 + ;; + -c|--config) + shift + if [[ -f "${1}" ]]; then + while IFS='=' read key value; do + TOKENS["$key"]="$value" + done <<< "$(${DIR}/ini.sh ${1})" + fi + ;; + *) + if [[ -f "${1}" ]]; then + TEMPLATES[$INDEX]="${1}" + INDEX=$(( $INDEX + 1 )) + fi + ;; + esac + shift +done + +# Cancel if we have no config files +if [ "${INDEX}" -eq 0 ]; then + echo "ERROR: You need to specify a template file" >&2 + echo "$usage" + exit 1 +fi + +# Replace tokens by values +for templatefile in "${TEMPLATES[@]}"; do + CONTENT=$(cat $templatefile); + for token in "${!TOKENS[@]}"; do + CONTENT=${CONTENT//"{{$token}}"/"${TOKENS[$token]}"} + done + echo -e "$CONTENT" +done + diff --git a/src/0002.tex b/src/0002.tex @@ -1,142 +0,0 @@ -\documentclass[a4paper,11pt]{article} -\pagenumbering{arabic} -\usepackage[T1]{fontenc} -\usepackage[utf8]{inputenc} -\usepackage{listings} -\usepackage{lmodern} -\usepackage{xcolor} -\usepackage{xparse} - -\NewDocumentCommand{\codeword}{v}{% -\texttt{\textcolor{blue}{#1}}% -} - -\lstset{language=C,keywordstyle={\bfseries \color{blue}}} - -\begin{document} - -\title{Ratus Unilicense 1.0} -\author{Robin Bron} -\date{\today} -\maketitle - -\vfill - -\input{lib/cc40.tex} -\newpage -\tableofcontents -\newpage - -\section{Introduction} - This document specifies the Ratus Unilicense 1.0 license, targeted at - providing a restrictive code license for both open source and closed source - projects while still allowing unrestricted use of the licensed subject. - -\subsection{Summary} - \begin{itemize} - \item Must - \begin{itemize} - \item Include License - \end{itemize} - \item Can - \begin{itemize} - \item Change license - \item Sublicense - \item Private use - \item Commercial use - \item Include original - \end{itemize} - \item Limited - \begin{itemize} - \item Distribute - \item Modify - \end{itemize} - \item Can't - \begin{itemize} - \item Hold Liable - \end{itemize} - \end{itemize} - -\subsection{Conventions} -\input{lib/rfc2119.tex} - -\newpage -\section{The License} - -\subsection{Inside a file} - Ratus Unilicense 1.0 MAY be applied to a single file or document using the - following text near the start of the file or document, replacing \{name\} by - the name of the entity holding the rights (most likely your or your company's - name). - - \begin{quote} - Copyright (C) \{name\} - All Rights Reserved\newline - Ratus Unilicense 1.0 - - % Disallow spreading like wildfire - Unauthorized copying, modifying or distribution of this file or document, - it's derivatives and associated documentation files and/or documents, via - any medium, is strictly prohibited without the express permission of the - copyright holder. - - % Apply all rules from the full version - All but section 1 of Ratus Unilicense 1.0 apply to this file or - document (the "Software"), as found following the url: - https://trackthis.nl/license/ratus-unilicense-1.0 - \end{quote} - -\newpage -\subsection{Full Version} - Ratus Unilicense 1.0 SHOULD be applied to a collection of files or documents - using a single \codeword{LICENSE} file or document in the folder or container - which holds the files or documents licensed by it. - - To apply Ratus Unilicense 1.0 to the contents of a folder or container, the - contents of the \codeword{LICENSE} file or document MUST be as follows, - replacing \{name\} by the name of the entity holding the rights (most likely - your or your company's name). - - \begin{quote} - Copyright (C) \{name\} - All Rights Reserved\newline - Ratus Unilicense 1.0 - - % Disallow spreading like wildfire - 1. Copyright\newline - Unauthorized copying, modifying or distribution of the files and/or - documents contained in the folder or container holding this license, - their derivatives and associated files and/or documents (the "Software"), - via any medium, is strictly prohibited without the express permission of - the copyright holder. - - % Allow compile & run - 2. Compilation and execution\newline - Obtained copies of the Software may be compiled and/or executed without - modification without limitations and warranties. - - % Allow full relicensing by copyright holder - 3. Changing license\newline - The Software may be distributed under a different license only by the - copyright holder at which point only the newer license applies to all - copies of the Software obtained using that license. - - % Allow example code to be copied - 4. Sublicense\newline - The copyright holder may apply a different license to any, whole or - partial, file, document, folder or container covered by this license. - - % Waive warranties - 5. Liability\newline - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF FITNESS FOR A - PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL AUTHORS OR - COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF - OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. - - \end{quote} - - -%\subsection{Full Version} - -\end{document} diff --git a/src/html/index.html.entry b/src/html/index.html.entry @@ -0,0 +1,6 @@ + <tr href="spec/{{identifier}}.pdf"> + <td>{{identifier}}</td> + <td>{{identifier}}</td> + <td href='#q={{obsoleted-by}}'>{{obsoleted-by}}</td> + <td href="license/{{license}}.txt">{{license}}</td> + </tr> diff --git a/src/html/index.html.head b/src/html/index.html.head @@ -0,0 +1,58 @@ +<!DOCTYPE html> +<html> + <head> + <style> + * { + font-family: sans-serif; + } + body { + margin: 1em auto; + width: 60em; + max-width: calc(100% - 2em); + } + </style> + + <meta name="viewport" content="width=device-width, maximum-scale=1, minimum-scale=1" /> + <title>Specifications</title> + + <link href="https://cdn.jsdelivr.net/npm/simple-datatables@latest/dist/style.css" rel="stylesheet" type="text/css"> + <script src="https://cdn.jsdelivr.net/npm/simple-datatables@latest" type="text/javascript"></script> + </head> + <body> + + <!-- Octo banner --> + <a href="https://github.com/finwo/specifications" class="github-corner" aria-label="View source on GitHub"><svg width="80" height="80" viewBox="0 0 250 250" style="fill:#151513; color:#fff; position: absolute; top: 0; border: 0; right: 0;" aria-hidden="true"><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg></a><style>.github-corner:hover .octo-arm{animation:octocat-wave 560ms ease-in-out}@keyframes octocat-wave{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width:500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave 560ms ease-in-out}}</style> + + + <h1>Specifications</h1> + + <a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/80x15.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>. + + <hr /> + + <p> + This repository contains specification documents and standards + drafted by finwo to enhance the quality of it's own produce, + including, but not limited to, code, documents, workflows and + products. + </p> + + <p> + Third parties are allowed to apply any of these specifications based on + their own requirements. + </p> + + <hr /> + + <h3>Table of contents</h3> + + <table id=specTable> + <thead> + <tr> + <th>SPEC</th> + <th>Title</th> + <th>Obsoleted by</th> + <th>License</th> + </tr> + </thead> + <tbody> diff --git a/src/html/index.html.tail b/src/html/index.html.tail @@ -0,0 +1,50 @@ + </tbody> + </table> + + <script> + + // Query String handler + const qs = { + parse(str) { + let output = {}; + str.split('&').forEach(param => { + let [key, value] = param.split('='); + output[decodeURIComponent(key)] = decodeURIComponent(value); + }); + return output; + }, + }; + + // Make the table nice and searchable + const datatable = new simpleDatatables.DataTable('#specTable', { + searchable: true + }); + + // Make all elements act as anchors when [href] is present + Array.from(document.querySelectorAll('[href]')).forEach(node => { + node.style.cursor = 'pointer'; + node.addEventListener('click', ev => { + ev.preventDefault(); + let elem = ev.target; + while(!elem.attributes.href) + elem = elem.parentNode; + document.location.href = elem.attributes.href.value; + }); + }); + + // Hardwired data binding + function onHashChange() { + let q = qs.parse(document.location.hash.substr(1)); + if (q.q == datatable.input.value) return; + datatable.input.value = q.q || ''; + datatable.search(q.q || ''); + }; + window.addEventListener('hashchange', onHashChange, false); + datatable.on('datatable.search', query => { + document.location.hash = '#q=' + query; + }); + onHashChange(); + + </script> + </body> +</html> diff --git a/src/markdown/README.md.entry b/src/markdown/README.md.entry @@ -0,0 +1 @@ +- [SD{{identifier}}](docs/spec/{{identifier}}.pdf) {{title}} diff --git a/src/markdown/README.md.head b/src/markdown/README.md.head @@ -0,0 +1,18 @@ +# Specifications + +<a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/80x15.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>. + +----------------------------------------------------------------------- + +This repository contains specifications and standards drafted by finwo +to enhance the quality of it's own produce, including, but not limited +to, code, documents, workflows and products. + +Third parties are allowed to apply any of these specifications based on +their own requirements. + +----------------------------------------------------------------------- + +### Table of contents + +- [INDEX](docs/index.html) Hosted index diff --git a/src/markdown/README.md.tail b/src/markdown/README.md.tail diff --git a/src/spec/0000/data.ini b/src/spec/0000/data.ini @@ -0,0 +1,7 @@ +identifier=0000 +license=CC-by-4.0 +obsoleted-by=0003 +obsoletes= +publication-date=August 2018 +publication-date-short=August 2018 +title=Specification Format diff --git a/src/0000.txt b/src/spec/0000/document.txt diff --git a/src/spec/0001/data.ini b/src/spec/0001/data.ini @@ -0,0 +1,7 @@ +identifier=0001 +license=CC-by-4.0 +obsoleted-by= +obsoletes= +publication-date=August 2018 +publication-date-short=August 2018 +title=JavaScript Styling diff --git a/src/0001.txt b/src/spec/0001/document.txt diff --git a/src/spec/0002/data.ini b/src/spec/0002/data.ini @@ -0,0 +1,7 @@ +identifier=0002 +license=CC-by-4.0 +obsoleted-by= +obsoletes= +publication-date=August 2018 +publication-date-short=August 2018 +title=Ratus Unilicense 1.0 diff --git a/src/spec/0002/document.tex b/src/spec/0002/document.tex @@ -0,0 +1,142 @@ +\documentclass[a4paper,11pt]{article} +\pagenumbering{arabic} +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{listings} +\usepackage{lmodern} +\usepackage{xcolor} +\usepackage{xparse} + +\NewDocumentCommand{\codeword}{v}{% +\texttt{\textcolor{blue}{#1}}% +} + +\lstset{language=C,keywordstyle={\bfseries \color{blue}}} + +\begin{document} + +\title{Ratus Unilicense 1.0} +\author{Robin Bron} +\date{\today} +\maketitle + +\vfill + +\input{src/spec/lib/cc40.tex} +\newpage +\tableofcontents +\newpage + +\section{Introduction} + This document specifies the Ratus Unilicense 1.0 license, targeted at + providing a restrictive code license for both open source and closed source + projects while still allowing unrestricted use of the licensed subject. + +\subsection{Summary} + \begin{itemize} + \item Must + \begin{itemize} + \item Include License + \end{itemize} + \item Can + \begin{itemize} + \item Change license + \item Sublicense + \item Private use + \item Commercial use + \item Include original + \end{itemize} + \item Limited + \begin{itemize} + \item Distribute + \item Modify + \end{itemize} + \item Can't + \begin{itemize} + \item Hold Liable + \end{itemize} + \end{itemize} + +\subsection{Conventions} +\input{src/spec/lib/rfc2119.tex} + +\newpage +\section{The License} + +\subsection{Inside a file} + Ratus Unilicense 1.0 MAY be applied to a single file or document using the + following text near the start of the file or document, replacing \{name\} by + the name of the entity holding the rights (most likely your or your company's + name). + + \begin{quote} + Copyright (C) \{name\} - All Rights Reserved\newline + Ratus Unilicense 1.0 + + % Disallow spreading like wildfire + Unauthorized copying, modifying or distribution of this file or document, + it's derivatives and associated documentation files and/or documents, via + any medium, is strictly prohibited without the express permission of the + copyright holder. + + % Apply all rules from the full version + All but section 1 of Ratus Unilicense 1.0 apply to this file or + document (the "Software"), as found following the url: + https://trackthis.nl/license/ratus-unilicense-1.0 + \end{quote} + +\newpage +\subsection{Full Version} + Ratus Unilicense 1.0 SHOULD be applied to a collection of files or documents + using a single \codeword{LICENSE} file or document in the folder or container + which holds the files or documents licensed by it. + + To apply Ratus Unilicense 1.0 to the contents of a folder or container, the + contents of the \codeword{LICENSE} file or document MUST be as follows, + replacing \{name\} by the name of the entity holding the rights (most likely + your or your company's name). + + \begin{quote} + Copyright (C) \{name\} - All Rights Reserved\newline + Ratus Unilicense 1.0 + + % Disallow spreading like wildfire + 1. Copyright\newline + Unauthorized copying, modifying or distribution of the files and/or + documents contained in the folder or container holding this license, + their derivatives and associated files and/or documents (the "Software"), + via any medium, is strictly prohibited without the express permission of + the copyright holder. + + % Allow compile & run + 2. Compilation and execution\newline + Obtained copies of the Software may be compiled and/or executed without + modification without limitations and warranties. + + % Allow full relicensing by copyright holder + 3. Changing license\newline + The Software may be distributed under a different license only by the + copyright holder at which point only the newer license applies to all + copies of the Software obtained using that license. + + % Allow example code to be copied + 4. Sublicense\newline + The copyright holder may apply a different license to any, whole or + partial, file, document, folder or container covered by this license. + + % Waive warranties + 5. Liability\newline + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF FITNESS FOR A + PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL AUTHORS OR + COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF + OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + + \end{quote} + + +%\subsection{Full Version} + +\end{document} diff --git a/src/spec/0003/data.ini b/src/spec/0003/data.ini @@ -0,0 +1,7 @@ +identifier=0003 +license=CC-by-4.0 +obsoleted-by= +obsoletes=0000 +publication-date=June 2020 +publication-date-short=June 2020 +title=Specification Style Guide diff --git a/src/0003.txt b/src/spec/0003/document.txt diff --git a/src/lib/cc40.tex b/src/spec/lib/cc40.tex diff --git a/src/lib/rfc2119.tex b/src/spec/lib/rfc2119.tex diff --git a/src/spec/ref/ISO_OBP/include.txt b/src/spec/ref/ISO_OBP/include.txt @@ -0,0 +1,2 @@ + [ISO_OBP] ISO, "Online Browsing Platform (OBP)", + <https://www.iso.org/obp/ui/>. diff --git a/src/spec/ref/RFC5741/include.txt b/src/spec/ref/RFC5741/include.txt @@ -0,0 +1,3 @@ + [RFC5741] Daigle, L., Ed., Kolkman, O., Ed., and IAB, "RFC Streams, + Headers, and Boilerplates", RFC 5741, December 2009, + <http://www.rfc-editor.org/info/rfc5741>. diff --git a/src/spec/ref/SD0000/include.txt b/src/spec/ref/SD0000/include.txt @@ -0,0 +1,2 @@ + [SD0000] Bron, R., "Specification Format", SD 0000, August 2018 + <https://finwo.github.io/specification/spec/0000.pdf>