commit 82f4cc9830a9dffee01fe46aca69fb8beeb9b044
parent 569d93c6682d5935e07fe80fec58d5481e064e56
Author: finwo <finwo@pm.me>
Date: Wed, 3 Jun 2020 12:10:20 +0200
Created specification description 0003
Diffstat:
| M | build.sh | | | 32 | +++++++++++--------------------- |
| A | docs/spec/0003.pdf | | | 628 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | src/0003.txt | | | 420 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
3 files changed, 1059 insertions(+), 21 deletions(-)
diff --git a/build.sh b/build.sh
@@ -1,18 +1,5 @@
#!/usr/bin/env bash
-#echo "Updating gitignore"
-#curl -s https://www.gitignore.io/api/osx,linux,windows,intellij,composer > .gitignore
-#echo /.gtm/ >> .gitignore
-#echo /.idea/ >> .gitignore
-#echo composer.lock >> .gitignore
-#echo 'src/*/*.pdf' >> .gitignore
-#echo '*.aux' >> .gitignore
-#echo '*.log' >> .gitignore
-#echo '*.toc' >> .gitignore
-#
-#echo "Updating PHP dependencies"
-#composer install &>/dev/null
-
echo "Building..."
ORGDIR=$(pwd)
SPECDIR=$(pwd)/docs/spec
@@ -30,14 +17,17 @@ for filename in $(find . -type f -regextype posix-egrep -regex '\./[0-9]{4}.*\.(
rm -f *.log
rm -f *.toc
;;
- txt) # Font: Courier
-# 10pt font
-# 12pt line height
-# 60 lines per page
-# 72 characters per line
-# 8 spaces per tab
-# Based on A4 paper
- text2pdf -fCourier -s10 -v12 -l60 -c72 -t8 -A4 ${filename} > ${SPECDIR}/${filename%.*}.pdf
+ txt)
+ # Font: Courier
+ # 10pt font
+ # 12pt line height
+ # 60 lines per page
+ # 80 characters per line
+ # 8 spaces per tab
+ # Based on A4 paper
+
+ # -c81 because of a minor bug in text2pdf
+ text2pdf -fCourier -s10 -v12 -l60 -c81 -t8 -A4 ${filename} > ${SPECDIR}/${filename%.*}.pdf
;;
esac
done
diff --git a/docs/spec/0003.pdf b/docs/spec/0003.pdf
@@ -0,0 +1,628 @@
+%PDF-1.1
+1 0 obj
+<<
+/CreationDate (D:20200603120702)
+/Producer (text2pdf v1.1 (\251 Phil Smith, 1996))
+/Title (./0003.txt)
+>>
+endobj
+2 0 obj
+<<
+/Type /Catalog
+/Pages 3 0 R
+>>
+endobj
+4 0 obj
+<<
+/Type /Font
+/Subtype /Type1
+/Name /F1
+/BaseFont /Courier
+>>
+endobj
+5 0 obj
+<<
+ /Font << /F1 4 0 R >>
+ /ProcSet [ /PDF /Text ]
+>>
+endobj
+6 0 obj
+<<
+/Type /Page
+/Parent 3 0 R
+/Resources 5 0 R
+/Contents 7 0 R
+>>
+endobj
+7 0 obj
+<<
+/Length 8 0 R
+>>
+stream
+BT
+/F1 10 Tf
+1 0 0 1 50 802 Tm
+12 TL
+(Specification: 0003 Robin Bron)'
+( June 2020)'
+()'
+(Obsoletes: 0000)'
+()'
+()'
+( Specification Format)'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+(Copyright Notice)'
+()'
+( This document is licensed under a)'
+( Creative Commons Attribution 4.0 International License)'
+()'
+( You should have received a copy of the license along with this work. If not,)'
+( see <http://creativecommons.org/licenses/by/4.0/>)'
+()'
+(Bron [Page 1])'
+ET
+endstream
+endobj
+8 0 obj
+825
+endobj
+9 0 obj
+<<
+/Type /Page
+/Parent 3 0 R
+/Resources 5 0 R
+/Contents 10 0 R
+>>
+endobj
+10 0 obj
+<<
+/Length 11 0 R
+>>
+stream
+BT
+/F1 10 Tf
+1 0 0 1 50 802 Tm
+12 TL
+(SPEC 0003 Specification Format June 2020)'
+()'
+(Table of contents)'
+()'
+( 1. Conventions ........................................................... 3)'
+( 2. Character encoding .................................................... 3)'
+( 3. Line definition ....................................................... 3)'
+( 3.1 Line numbering .................................................... 3)'
+( 4. Pages ................................................................. 3)'
+( 4.1 Page header ....................................................... 3)'
+( 4.2 Page footer ....................................................... 3)'
+( 5. Paragraphs ............................................................ 3)'
+( 6. Document header ....................................................... 4)'
+( 6.1. Descriptive header ............................................... 4)'
+( 6.2. Short author identification ...................................... 4)'
+( 6.3. Publish date ..................................................... 4)'
+( 7. Document footer ....................................................... 5)'
+( 8. Section titles ........................................................ 5)'
+( 9. Document title ........................................................ 5)'
+( 10. Informative resources ................................................. 6)'
+( 11. Author information .................................................... 7)'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+(Bron [Page 2])'
+ET
+endstream
+endobj
+11 0 obj
+1817
+endobj
+12 0 obj
+<<
+/Type /Page
+/Parent 3 0 R
+/Resources 5 0 R
+/Contents 13 0 R
+>>
+endobj
+13 0 obj
+<<
+/Length 14 0 R
+>>
+stream
+BT
+/F1 10 Tf
+1 0 0 1 50 802 Tm
+12 TL
+(SPEC 0003 Specification Format June 2020)'
+()'
+(1. Conventions)'
+()'
+( The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",)'
+( "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this)'
+( document are to be interpreted as described in RFC2119 when, and only when,)'
+( they appear in all capitals, as shown here.)'
+()'
+(2. Character Encoding)'
+()'
+( Plain-text files for specifications MUST use the UTF-8 standard.)'
+()'
+(3. Line definition)'
+()'
+( A line of text is a sequence of 0 or more characters followed by a line feed)'
+( character. For the sake of and clarity, the ending line feed character is not)'
+( part of the line.)'
+()'
+( Lines MUST NOT exceed 80 characters in length, excluding the ending line feed)'
+( character. A line is called a blank line if it consists of 0 characters.)'
+()'
+(3.1. Line numbering)'
+()'
+( Assuming a document is in digital format[1] and has a length of greater than)'
+( 0 bytes, the first character in the document is part of line 1.)'
+()'
+(4. Pages)'
+()'
+( A page is a sequence of 60 lines. That means for every line number n, the)'
+( line is the start of a new page when n mod 60 = 1.)'
+()'
+(4.1 Page header)'
+()'
+( The first line of a page SHOULD consist of a left-aligned spec number)'
+( indicator, a centered \(short\) document title and a right-aligned short)'
+( publishing date \(see 6.3\). Line 2 of a page MUST always be blank, excluding)'
+( the first page of the document.)'
+()'
+(4.2 Page footer)'
+()'
+( The last line of a page MUST consist of a left-align last name of the)'
+( author or authors and a right-aligned page number between square brackets.)'
+( The second-to-last line of a page must be blank, just like line 2 of a page.)'
+()'
+(5. Paragraphs)'
+()'
+( A paragraph is a sequence of consecutive lines all of a length greater than 0)'
+( characters. Paragraphs are separated by either one or more blank lines or a)'
+( page break. Paragraphs MUST NOT span multiple pages, limiting their size to)'
+( 56 lines.)'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+(Bron [Page 3])'
+ET
+endstream
+endobj
+14 0 obj
+2259
+endobj
+15 0 obj
+<<
+/Type /Page
+/Parent 3 0 R
+/Resources 5 0 R
+/Contents 16 0 R
+>>
+endobj
+16 0 obj
+<<
+/Length 17 0 R
+>>
+stream
+BT
+/F1 10 Tf
+1 0 0 1 50 802 Tm
+12 TL
+(SPEC 0003 Specification Format June 2020)'
+()'
+(6. Document header)'
+()'
+( The first lines of the first page of a specification document MUST always)'
+( contain left-aligned description headers \(see 6.1\) and right-aligned author)'
+( identification and a right-aligned publishing date.)'
+()'
+( After the initial lines \(see 6.1 through 6.3\), references to other)'
+( specifications MUST be included when the specification obsoletes or updates)'
+( the references specification.)'
+()'
+( After the initial lines and the references, the document title is REQUIRED to)'
+( be written on the first page of the document. For it's specification, see)'
+( section 9.)'
+()'
+( The bottom of the first page of the document MUST include a copyright notice)'
+( and/or license, a link to the license or the inclusion text required by the)'
+( license in question.)'
+()'
+(6.1. Descriptive header)'
+()'
+( Each descriptive header is made up of a key and a value. Whitespace is not)'
+( allowed in both the key and the value. Whitespace can only be included in the)'
+( value by wrapping the value in quote characters.)'
+()'
+( The key of the header consists of all characters of the line up to the first)'
+( semicolon, excluding the semicolon itself and omitting all white-space)'
+( characters.)'
+()'
+( The value of the header starts at the first non-whitespace character after)'
+( the first semicolon of the line. If the first character is a quote, the value)'
+( ends at the next quote in the line. If the first character is not a quote,)'
+( the value ends at the next whitespace character.)'
+()'
+(6.2. Short author identification)'
+()'
+( In order to allow the author or authors to take some credit and to track who)'
+( has written what, the author's name MUST be added right-aligned on the first)'
+( line of the first page of the document. To prevent mixing notations between)'
+( documents, the names SHOULD be written as only the first letters of all given)'
+( names in capitals, separated by dots, a space and the Family name starting)'
+( with an uppercase character. When written by a group with a name, the short)'
+( author identification string SHOULD state the group's name instead of the)'
+( individual authors.)'
+()'
+(6.3. Publish date)'
+()'
+( Dates contained in specification documents following the format described in)'
+( this document MUST follow the Gregorian calendar.)'
+()'
+( The publish date of the document MUST include a month starting with a capital)'
+( character and fully written year. The day of the month MAY be added on the)'
+( first page of the document, but MUST NOT be included in the short date on all)'
+( pages.)'
+()'
+()'
+()'
+()'
+(Bron [Page 4])'
+ET
+endstream
+endobj
+17 0 obj
+2875
+endobj
+18 0 obj
+<<
+/Type /Page
+/Parent 3 0 R
+/Resources 5 0 R
+/Contents 19 0 R
+>>
+endobj
+19 0 obj
+<<
+/Length 20 0 R
+>>
+stream
+BT
+/F1 10 Tf
+1 0 0 1 50 802 Tm
+12 TL
+(SPEC 0003 Specification Format June 2020)'
+()'
+(7. Document footer)'
+()'
+( The document SHOULD close, starting on a new page, with all informative)'
+( resources which were used to write the document, noting their keyword and)'
+( document title. A URI to the resource SHOULD be included.)'
+()'
+( After the informative resources, the document SHOULD end with one or several)'
+( pages dedicated to the information of the author or authors.)'
+()'
+(8. Section titles)'
+()'
+( Section titles SHOULD be a short text about the subject the section)'
+( describes. Whether it is simply the keyword of what it explains, a problem)'
+( statement or other type of text is up to the author as long as it's relevant)'
+( to the section's body and fits within a single line.)'
+()'
+( A section title MUST start with a capital character & MUST NOT contain any)'
+( other capital letters, excluding where they are required in names or)'
+( abbreviations.)'
+()'
+(9. Document title)'
+()'
+( The title of the document should clearly state the main subject of the)'
+( document and it's contents. Each word of the document title MUST start with a)'
+( capital character when noted as the title of the document.)'
+()'
+( On the first page of the document, the title should be centered horizontally)'
+( and have at least 2 blank lines both above and below it. The document title)'
+( SHOULD be as close to the document's descriptive headers as possible.)'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+(Bron [Page 5])'
+ET
+endstream
+endobj
+20 0 obj
+1733
+endobj
+21 0 obj
+<<
+/Type /Page
+/Parent 3 0 R
+/Resources 5 0 R
+/Contents 22 0 R
+>>
+endobj
+22 0 obj
+<<
+/Length 23 0 R
+>>
+stream
+BT
+/F1 10 Tf
+1 0 0 1 50 802 Tm
+12 TL
+(SPEC 0003 Specification Format June 2020)'
+()'
+(10. Informative resources)'
+()'
+( [RFC2119] RFC Key Words)'
+( S. Bradner)'
+( https://tools.ietf.org/html/rfc2119)'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+(Bron [Page 6])'
+ET
+endstream
+endobj
+23 0 obj
+565
+endobj
+24 0 obj
+<<
+/Type /Page
+/Parent 3 0 R
+/Resources 5 0 R
+/Contents 25 0 R
+>>
+endobj
+25 0 obj
+<<
+/Length 26 0 R
+>>
+stream
+BT
+/F1 10 Tf
+1 0 0 1 50 802 Tm
+12 TL
+(SPEC 0003 Specification Format June 2020)'
+()'
+(11. Author information)'
+()'
+( Name ....... Robin Bron)'
+( Nickname ... Finwo)'
+( EMail ...... robin@finwo.nl)'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+()'
+(Bron [Page 7])'
+ET
+endstream
+endobj
+26 0 obj
+539
+endobj
+3 0 obj
+<<
+/Type /Pages
+/Count 7
+/MediaBox [ 0 0 595 842 ]
+/Kids [ 6 0 R 9 0 R 12 0 R 15 0 R 18 0 R 21 0 R 24 0 R ]
+>>
+endobj
+xref
+0 27
+0000000000 65535 f 0000000009 00000 n 0000000133 00000 n 0000012034 00000 n 0000000182 00000 n 0000000260 00000 n 0000000331 00000 n 0000000411 00000 n 0000001288 00000 n 0000001307 00000 n 0000001388 00000 n 0000003259 00000 n 0000003280 00000 n 0000003362 00000 n 0000005675 00000 n 0000005696 00000 n 0000005778 00000 n 0000008707 00000 n 0000008728 00000 n 0000008810 00000 n 0000010597 00000 n 0000010618 00000 n 0000010700 00000 n 0000011319 00000 n 0000011339 00000 n 0000011421 00000 n 0000012014 00000 n trailer
+<<
+/Size 27
+/Root 2 0 R
+/Info 1 0 R
+>>
+startxref
+12160
+%%EOF
diff --git a/src/0003.txt b/src/0003.txt
@@ -0,0 +1,420 @@
+Specification: 0003 Robin Bron
+ June 2020
+
+Obsoletes: 0000
+
+
+ Specification Format
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Copyright Notice
+
+ This document is licensed under a
+ Creative Commons Attribution 4.0 International License
+
+ You should have received a copy of the license along with this work. If not,
+ see <http://creativecommons.org/licenses/by/4.0/>
+
+Bron [Page 1]
+SPEC 0003 Specification Format June 2020
+
+Table of contents
+
+ 1. Conventions ........................................................... 3
+ 2. Character encoding .................................................... 3
+ 3. Line definition ....................................................... 3
+ 3.1 Line numbering .................................................... 3
+ 4. Pages ................................................................. 3
+ 4.1 Page header ....................................................... 3
+ 4.2 Page footer ....................................................... 3
+ 5. Paragraphs ............................................................ 3
+ 6. Document header ....................................................... 4
+ 6.1. Descriptive header ............................................... 4
+ 6.2. Short author identification ...................................... 4
+ 6.3. Publish date ..................................................... 4
+ 7. Document footer ....................................................... 5
+ 8. Section titles ........................................................ 5
+ 9. Document title ........................................................ 5
+ 10. Informative resources ................................................. 6
+ 11. Author information .................................................... 7
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Bron [Page 2]
+SPEC 0003 Specification Format June 2020
+
+1. Conventions
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
+ "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this
+ document are to be interpreted as described in RFC2119 when, and only when,
+ they appear in all capitals, as shown here.
+
+2. Character Encoding
+
+ Plain-text files for specifications MUST use the UTF-8 standard.
+
+3. Line definition
+
+ A line of text is a sequence of 0 or more characters followed by a line feed
+ character. For the sake of and clarity, the ending line feed character is not
+ part of the line.
+
+ Lines MUST NOT exceed 80 characters in length, excluding the ending line feed
+ character. A line is called a blank line if it consists of 0 characters.
+
+3.1. Line numbering
+
+ Assuming a document is in digital format[1] and has a length of greater than
+ 0 bytes, the first character in the document is part of line 1.
+
+4. Pages
+
+ A page is a sequence of 60 lines. That means for every line number n, the
+ line is the start of a new page when n mod 60 = 1.
+
+4.1 Page header
+
+ The first line of a page SHOULD consist of a left-aligned spec number
+ indicator, a centered (short) document title and a right-aligned short
+ publishing date (see 6.3). Line 2 of a page MUST always be blank, excluding
+ the first page of the document.
+
+4.2 Page footer
+
+ The last line of a page MUST consist of a left-align last name of the
+ author or authors and a right-aligned page number between square brackets.
+ The second-to-last line of a page must be blank, just like line 2 of a page.
+
+5. Paragraphs
+
+ A paragraph is a sequence of consecutive lines all of a length greater than 0
+ characters. Paragraphs are separated by either one or more blank lines or a
+ page break. Paragraphs MUST NOT span multiple pages, limiting their size to
+ 56 lines.
+
+
+
+
+
+
+
+
+Bron [Page 3]
+SPEC 0003 Specification Format June 2020
+
+6. Document header
+
+ The first lines of the first page of a specification document MUST always
+ contain left-aligned description headers (see 6.1) and right-aligned author
+ identification and a right-aligned publishing date.
+
+ After the initial lines (see 6.1 through 6.3), references to other
+ specifications MUST be included when the specification obsoletes or updates
+ the references specification.
+
+ After the initial lines and the references, the document title is REQUIRED to
+ be written on the first page of the document. For it's specification, see
+ section 9.
+
+ The bottom of the first page of the document MUST include a copyright notice
+ and/or license, a link to the license or the inclusion text required by the
+ license in question.
+
+6.1. Descriptive header
+
+ Each descriptive header is made up of a key and a value. Whitespace is not
+ allowed in both the key and the value. Whitespace can only be included in the
+ value by wrapping the value in quote characters.
+
+ The key of the header consists of all characters of the line up to the first
+ semicolon, excluding the semicolon itself and omitting all white-space
+ characters.
+
+ The value of the header starts at the first non-whitespace character after
+ the first semicolon of the line. If the first character is a quote, the value
+ ends at the next quote in the line. If the first character is not a quote,
+ the value ends at the next whitespace character.
+
+6.2. Short author identification
+
+ In order to allow the author or authors to take some credit and to track who
+ has written what, the author's name MUST be added right-aligned on the first
+ line of the first page of the document. To prevent mixing notations between
+ documents, the names SHOULD be written as only the first letters of all given
+ names in capitals, separated by dots, a space and the Family name starting
+ with an uppercase character. When written by a group with a name, the short
+ author identification string SHOULD state the group's name instead of the
+ individual authors.
+
+6.3. Publish date
+
+ Dates contained in specification documents following the format described in
+ this document MUST follow the Gregorian calendar.
+
+ The publish date of the document MUST include a month starting with a capital
+ character and fully written year. The day of the month MAY be added on the
+ first page of the document, but MUST NOT be included in the short date on all
+ pages.
+
+
+
+
+Bron [Page 4]
+SPEC 0003 Specification Format June 2020
+
+7. Document footer
+
+ The document SHOULD close, starting on a new page, with all informative
+ resources which were used to write the document, noting their keyword and
+ document title. A URI to the resource SHOULD be included.
+
+ After the informative resources, the document SHOULD end with one or several
+ pages dedicated to the information of the author or authors.
+
+8. Section titles
+
+ Section titles SHOULD be a short text about the subject the section
+ describes. Whether it is simply the keyword of what it explains, a problem
+ statement or other type of text is up to the author as long as it's relevant
+ to the section's body and fits within a single line.
+
+ A section title MUST start with a capital character & MUST NOT contain any
+ other capital letters, excluding where they are required in names or
+ abbreviations.
+
+9. Document title
+
+ The title of the document should clearly state the main subject of the
+ document and it's contents. Each word of the document title MUST start with a
+ capital character when noted as the title of the document.
+
+ On the first page of the document, the title should be centered horizontally
+ and have at least 2 blank lines both above and below it. The document title
+ SHOULD be as close to the document's descriptive headers as possible.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Bron [Page 5]
+SPEC 0003 Specification Format June 2020
+
+10. Informative resources
+
+ [RFC2119] RFC Key Words
+ S. Bradner
+ https://tools.ietf.org/html/rfc2119
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Bron [Page 6]
+SPEC 0003 Specification Format June 2020
+
+11. Author information
+
+ Name ....... Robin Bron
+ Nickname ... Finwo
+ EMail ...... robin@finwo.nl
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Bron [Page 7]