Update Document Creation Process

- Add proper Build and Makefile files in Source/Doc directory
- Switch preprocessing from pp to m4 which is more supportable across platforms
- Building of documentation is still done manually as needed, but it is now easy to do under either Windows or Linux using provided files
This commit is contained in:
Wayne Warthen
2021-10-21 16:18:39 -07:00
parent faa9db9394
commit 475596b7b4
24 changed files with 845 additions and 57 deletions

View File

@@ -1,10 +1,13 @@
!include(Common.inc)
!def(document)(Applications)
include(`Common.m4')
define({{doc_title}},{{Applications}})
---
title: !product !document
author: !author (mailto:!authmail)
date: !date
institution: !orgname
title: |
| doc_product doc_title
|
| Version doc_ver
author: doc_author (mailto:doc_authmail)
date: doc_date
institution: doc_orgname
documentclass: article
toc: true
toc-depth: 1

View File

@@ -1,13 +1,13 @@
!include(Common.inc)
!def(document)(Architecture)
include(`Common.m4')
define({{doc_title}},{{Architecture}})
---
title: |
| !product
| doc_product doc_title
|
| !document
author: !author (mailto:!authmail)
date: !date
institution: !orgname
| Version doc_ver
author: doc_author (mailto:doc_authmail)
date: doc_date
institution: doc_orgname
documentclass: book
classoption:
- oneside
@@ -44,14 +44,14 @@ header-includes:
\includegraphics[width=\paperwidth]{Graphics/Logo.pdf} \par
\vfill
\raggedleft
{\scshape \bfseries \fontsize{48pt}{56pt} \selectfont !product \par}
{\bfseries \fontsize{32pt}{36pt} \selectfont !document \par}
{\scshape \bfseries \fontsize{48pt}{56pt} \selectfont doc_product \par}
{\bfseries \fontsize{32pt}{36pt} \selectfont doc_title \par}
\vspace{24pt}
{\huge Version !ver \\ !date \par}
{\huge Version doc_ver \\ doc_date \par}
\vspace{24pt}
{\large \itshape !orgname \\ \href{http://!orgurl}{!orgurl} \par}
{\large \itshape doc_orgname \\ \href{http://doc_orgurl}{doc_orgurl} \par}
\vspace{12pt}
{\large \itshape !author \\ \href{mailto:authmail}{!authmail} \par}
{\large \itshape doc_author \\ \href{mailto:doc_authmail}{doc_authmail} \par}
\end{titlepage}
}
\pagestyle{empty}
@@ -70,7 +70,7 @@ include-before:
```{=latex}
\clearpage
\pagenumbering{arabic}
\lhead{\fancyplain{}{\nouppercase{\footnotesize \bfseries \leftmark \hfill !product !document}}}
\lhead{\fancyplain{}{\nouppercase{\footnotesize \bfseries \leftmark \hfill doc_product doc_title}}}
```
Overview

48
Source/Doc/Build.cmd Normal file
View File

@@ -0,0 +1,48 @@
@echo off
setlocal
::
:: NOTE: Pandoc and Latex (MiKTeX or TexLive) must be installed
:: and available on commandline for this build to work!!!
::
set TOOLS=..\..\Tools
set PATH=%TOOLS%\m4;%PATH%
if not "%1"=="" (call :GenDoc %1 & goto :eof)
call :GenDoc GettingStarted
:: call :GenDoc UserGuide
call :GenDoc Applications
:: call :GenDoc Errata
:: call :GenDoc ZSystem
call :GenDoc Architecture
call :GenDoc Catalog
call :GenDoc ROM_Applications
if exist GettingStarted.pdf copy GettingStarted.pdf "..\..\Doc\RomWBW Getting Started.pdf" || exit /b
if exist GettingStarted.gfm copy GettingStarted.gfm ..\..\ReadMe.md || exit /b
if exist GettingStarted.txt copy GettingStarted.txt ..\..\ReadMe.txt || exit /b
if exist Applications.pdf copy Applications.pdf "..\..\Doc\RomWBW Applications.pdf" || exit /b
if exist Architecture.pdf copy Architecture.pdf "..\..\Doc\RomWBW Architecture.pdf" || exit /b
if exist Catalog.pdf copy Catalog.pdf "..\..\Doc\RomWBW Disk Catalog.pdf" || exit /b
if exist ROM_Applications.pdf copy ROM_Applications.pdf "..\..\Doc\ROM Applications.pdf" || exit /b
echo.
goto :eof
:GenDoc
echo.
echo Processing document %1.md...
m4 -D doc_date="%date%" %1.md >%1.tmp
pandoc %1.tmp -f markdown -t latex -s -o %1.pdf --default-image-extension=pdf || exit /b
pandoc %1.tmp -f markdown -t html -o %1.html --default-image-extension=png || exit /b
pandoc %1.tmp -f markdown -t dokuwiki -o %1.dw --default-image-extension=png || exit /b
pandoc %1.tmp -f markdown -t gfm -o %1.gfm --default-image-extension=png || exit /b
pandoc %1.tmp -f markdown -t plain -o %1.txt --default-image-extension=png || exit /b
goto :eof

View File

@@ -1,15 +1,14 @@
!include(Common.inc)
!def(document)(Disk Catalog)
!def(author)(Mykl Orders)
include(`Common.m4')
define({{doc_title}},{{Disk Catalog}})
define({{doc_author}},{{Mykl Orders}})
---
title: |
| !product
| Version !ver
| doc_product doc_title
|
| !document
author: !author (mailto:!authmail)
date: !date
institution: !orgname
| Version doc_ver
author: doc_author
date: doc_date
institution: doc_orgname
documentclass: article
classoption:
- oneside
@@ -40,7 +39,7 @@ header-includes:
\pagestyle{fancyplain}
\fancyhf{}
\pagenumbering{arabic}
\lhead{\fancyplain{}{\nouppercase{\footnotesize \bfseries \leftmark \hfill !product !document}}}
\lhead{\fancyplain{}{\nouppercase{\footnotesize \bfseries \leftmark \hfill doc_product doc_title}}}
\lfoot{\small RetroBrew Computing Group ~~ {\xrfill[3pt]{1pt}[cyan]} ~~ \thepage}
```

10
Source/Doc/Clean.cmd Normal file
View File

@@ -0,0 +1,10 @@
@echo off
setlocal
if exist *.gfm del *.gfm
if exist *.txt del *.txt
if exist *.dw del *.dw
if exist *.html del *.html
if exist *.tex del *.tex
if exist *.pdf del *.pdf
if exist *.tmp del *.tmp

View File

@@ -1,7 +0,0 @@
!def(ver)(3.1 Pre-release)
!def(date)(!mdate)
!def(product)(RomWBW)
!def(author)(Wayne Warthen)
!def(authmail)(wwarthen@gmail.com)
!def(orgname)(RetroBrew Computers Group)
!def(orgurl)(www.retrobrewcomputers.org)

9
Source/Doc/Common.m4 Normal file
View File

@@ -0,0 +1,9 @@
changequote(`{{', `}}')
define({{doc_ver}},{{3.1 Pre-release}})
define({{doc_product}},{{RomWBW}})
define({{doc_title}},{{Document Title}})
define({{doc_author}},{{Wayne Warthen}})
define({{doc_authmail}},{{wwarthen@gmail.com}})
define({{doc_orgname}},{{RetroBrew Computers Group}})
define({{doc_orgurl}},{{www.retrobrewcomputers.org}})

View File

@@ -1,13 +1,13 @@
!include(Common.inc)
!def(document)(Getting Started)
include(`Common.m4')
define({{doc_title}},{{Getting Started}})
---
title: |
| !product
| doc_product doc_title
|
| !document
author: !author (mailto:!authmail)
date: !date
institution: !orgname
| Version doc_ver
author: doc_author (mailto:doc_authmail)
date: doc_date
institution: doc_orgname
documentclass: article
classoption:
- oneside
@@ -37,10 +37,10 @@ header-includes:
## Z80/Z180 System Software
| Version !ver
| !date
| Version doc_ver
| doc_date
!author() [!authmail](mailto:!authmail)
doc_author [doc_authmail](mailto:doc_authmail)
### Download
@@ -1383,4 +1383,4 @@ RetroBrew Computers projects is via the community forums:
Submission of issues and bugs are welcome at the
[RomWBW GitHub Repository](https://github.com/wwarthen/RomWBW).
Also feel free to email !author at [!authmail](mailto:!authmail).
Also feel free to email doc_author at [doc_authmail](mailto:doc_authmail).

40
Source/Doc/Makefile Normal file
View File

@@ -0,0 +1,40 @@
#
# NOTE: Pandoc, Latex (MiKTeX or TexLive), and M4 must be installed
# and available on commandline for this build to work!!!
# Typically "sudo apt install pandoc, texlive-latex-extra, M4"
#
OBJECTS = GettingStarted.pdf GettingStarted.gfm GettingStarted.txt Applications.pdf Architecture.pdf Catalog.pdf ROM_Applications.pdf
# DEST = ../../Doc
TOOLS = ../../Tools
OTHERS = *.tmp
include $(TOOLS)/Makefile.inc
all :: deploy
%.tmp : %.md
m4 -D doc_date="`date +"%d %b %Y"`" $< >$@
%.pdf : %.tmp
pandoc $< -f markdown -t latex -s -o $@ --default-image-extension=pdf
%.html : %.tmp
pandoc $< -f markdown -t html -s -o $@ --default-image-extension=pdf
%.dw : %.tmp
pandoc $< -f markdown -t dokuwiki -s -o $@ --default-image-extension=pdf
%.gfm : %.tmp
pandoc $< -f markdown -t gfm -s -o $@ --default-image-extension=pdf
%.txt : %.tmp
pandoc $< -f markdown -t plain -s -o $@ --default-image-extension=pdf
deploy :
cp GettingStarted.pdf "../../Doc/RomWBW Getting Started.pdf"
cp GettingStarted.gfm "../../ReadMe.md"
cp GettingStarted.txt "../../ReadMe.txt"
cp Applications.pdf "../../Doc/RomWBW Applications.pdf"
cp Architecture.pdf "../../Doc/RomWBW Architecture.pdf"
cp Catalog.pdf "../../Doc/RomWBW Disk Catalog.pdf"
cp ROM_Applications.pdf "../../Doc/ROM Applications.pdf"

View File

@@ -1,12 +1,14 @@
!include(Common.inc)
!def(document)(ROM Applications)
!def(author)(Phillip Summers)
include(`Common.m4')
define({{doc_title}},{{ROM Applications}})
define({{doc_author}},{{Phillip Summers}})
---
title: !product !document
author: !author (mailto:!authmail)
date: !date
institution: !orgname
title: |
| doc_product doc_title
|
| Version doc_ver
author: doc_author
date: doc_date
institution: doc_orgname
documentclass: article
toc: true
toc-depth: 1