diff options
author | Chris Johns <chrisj@rtems.org> | 2022-09-27 21:27:34 +1000 |
---|---|---|
committer | Chris Johns <chrisj@rtems.org> | 2022-09-27 21:27:34 +1000 |
commit | 98368f75bd06c337d27ae45a2fe3f0f34cb90ee1 (patch) | |
tree | 719b7e6f82c2e419630ddd7a59fa7a78bd2d61f3 | |
parent | 33570ec90637994c9a9e8671fd2e771bb405a64d (diff) |
waf: Add building the README to html
-rw-r--r-- | doc/rtems.css | 276 | ||||
-rw-r--r-- | wscript | 30 |
2 files changed, 306 insertions, 0 deletions
diff --git a/doc/rtems.css b/doc/rtems.css new file mode 100644 index 0000000..81b8c23 --- /dev/null +++ b/doc/rtems.css @@ -0,0 +1,276 @@ +<style type="text/css"> +html { + font-size: 100%; + overflow-y: scroll; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} + +body { + color: #444; + font-family: Georgia, Palatino, 'Palatino Linotype', Times, 'Times New Roman', serif; + font-size: 12px; + line-height: 1.7; + padding: 1em; + margin: auto; + max-width: 60em; + background: #fefefe; +} + +a { color: #0645ad; text-decoration: none; } +a:visited { color: #0b0080; } +a:hover { color: #06e; } +a:active { color: #faa700; } +a:focus { outline: thin dotted; } +*::-moz-selection { background: rgba(255, 255, 0, 0.3); color: #000; } +*::selection { background: rgba(255, 255, 0, 0.3); color: #000; } +a::-moz-selection { background: rgba(255, 255, 0, 0.3); color: #0645ad; } +a::selection { background: rgba(255, 255, 0, 0.3); color: #0645ad; } + +p { margin: 1em 0; } +img { max-width: 100%; } + +h1, h2, h3, h4, h5, h6 { + color: #111; + line-height: 125%; + margin-top: 1.5em; + font-weight: normal; +} +h4, h5, h6 { font-weight: bold; } +h1 { font-size: 1.7em; } +h2 { font-size: 1.4em; + padding-top: 15px; + box-shadow: 0px 15px 10px -15px rgba(0, 0, 0, .2) inset; } +h3 { font-size: 1.2em; } +h4 { font-size: 0.9em; } +h5 { font-size: 0.7em; } +h6 { font-size: 0.7em; } + +header { + margin-bottom: 0; + text-align: left; +} + +#TOC li { + list-style: disc; +} + +blockquote { + color: #666666; + margin: 0; + padding-left: 3em; + border-left: 0.5em #EEE solid; +} + +hr { + display: block; + height: 2px; + border: 0; + border-top: 1px solid #aaa; + border-bottom: 1px solid #eee; + margin: 1em 0; + padding: 0; +} + +pre, code, kbd, samp { + color: #000; + font-family: monospace, monospace; + _font-family: 'courier new', monospace; + font-size: 0.98em; +} + +pre { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; +} + +b, strong { font-weight: bold; } + +dfn { font-style: italic; } + +ins { + background: #ff9; + color: #000; + text-decoration: none; +} + +mark { + background: #ff0; + color: #000; + font-style: italic; + font-weight: bold; +} + +sub, sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +ul, ol { + margin: 1em 0; + padding: 0 0 0 2em; +} + +li p:last-child { + margin-bottom: 0; +} + +ul ul, ol ol { + margin: .3em 0; +} + +dl { + margin-bottom: 1em; +} + +dt { + font-weight: bold; + margin-bottom: .8em; +} + +dd { + margin: 0 0 .8em 2em; +} + +dd:last-child { + margin-bottom: 0; +} + +img { + border: 0; + -ms-interpolation-mode: bicubic; + vertical-align: middle; +} + +figure { + display: block; + text-align: center; + margin: 1em 0; +} + +figure img { + border: none; + margin: 0 auto; +} + +figcaption { + font-size: 0.8em; + font-style: italic; + margin: 0 0 .8em; +} + +table { + margin-bottom: 2em; + border-bottom: 1px solid #ddd; + border-right: 1px solid #ddd; + border-spacing: 0; + border-collapse: collapse; +} + +table th { + padding: .2em 1em; + background-color: #eee; + border-top: 1px solid #ddd; + border-left: 1px solid #ddd; +} + +table td { + padding: .2em 1em; + border-top: 1px solid #ddd; + border-left: 1px solid #ddd; + vertical-align: top; +} + +.author { + font-size: 1.2em; + text-align: center; +} + +@media only screen and (min-width: 480px) { + body { + font-size: 14px; + } +} +@media only screen and (min-width: 768px) { + body { + font-size: 16px; + } +} +@media print { + * { + background: transparent !important; + color: black !important; + filter: none !important; + -ms-filter: none !important; + } + + body { + font-size: 12pt; + max-width: 100%; + } + + a, a:visited { + text-decoration: underline; + } + + hr { + height: 1px; + border: 0; + border-bottom: 1px solid black; + } + + a[href]:after { + content: " (" attr(href) ")"; + } + + abbr[title]:after { + content: " (" attr(title) ")"; + } + + .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { + content: ""; + } + + pre, blockquote { + border: 1px solid #999; + padding-right: 1em; + page-break-inside: avoid; + } + + tr, img { + page-break-inside: avoid; + } + + img { + max-width: 100% !important; + } + + @page :left { + margin: 15mm 20mm 15mm 10mm; + } + + @page :right { + margin: 15mm 10mm 15mm 20mm; + } + + p, h2, h3 { + orphans: 3; + widows: 3; + } + + h2, h3 { + page-break-after: avoid; + } +} +</style> @@ -123,6 +123,13 @@ class dry_runner(Build.BuildContext): fun = 'dry_run' +@TaskGen.feature('html') +class docs_builder(Build.BuildContext): + '''build the documentation as html''' + cmd = 'docs' + fun = 'docs' + + def set_builder_build(bld, build, dry_run=False, show=False): bset = pkg.configs.buildset(bld, build, dry_run) run_cmd = [bset['cmd']] + bset['run-opts'] @@ -202,6 +209,7 @@ def configure(conf): else: install = 'no-install' conf.msg('RSB Install mode', install, color='GREEN') + conf.find_program('pandoc', var='PANDOC', manditory=False) conf.env.RSB_PATH = rsb_path conf.env.RSB_SET_BUILDER = rsb_set_builder conf.env.RSB_VERSION = rsb_version @@ -257,3 +265,25 @@ def show(bld): def dry_run(bld): for build in pkg.configs.find_buildsets(bld): set_builder_build(bld, build, dry_run=True) + + +def docs(bld): + if not bld.env.PANDOC: + bld.fatal('no pandoc found during configure') + bld(name='css', + features='subst', + source='doc/rtems.css', + target='rtems.css', + is_copy=True) + title = 'RTEMS Deployment' + pandoc_std_opts = [ + '-f markdown_phpextra+grid_tables+multiline_tables+simple_tables+auto_identifiers', + '--section-divs', '--toc', + '-M title="%s"' % (title), '-t html', '--include-in-header=rtems.css' + ] + bld(name='html', + source='README.md', + target='README.html', + rule=bld.env.PANDOC[0] + ' ${SRC} ' + ' '.join(pandoc_std_opts) + + ' > ${TGT}', + use='css') |