commit 0f72668f280cb25697209f5497462da7627d33c2 Author: Jeff MacKinnon Date: Wed Dec 13 13:23:57 2023 -0400 Initial Commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..30d388a --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +build* \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..d0c3cbf --- /dev/null +++ b/Makefile @@ -0,0 +1,20 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line, and also +# from the environment for the first two. +SPHINXOPTS ?= +SPHINXBUILD ?= sphinx-build +SOURCEDIR = source +BUILDDIR = build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/README.md b/README.md new file mode 100644 index 0000000..b9ca900 --- /dev/null +++ b/README.md @@ -0,0 +1,9 @@ +# JMK Engineering Report Template + +This is the template Sphinx install to produce both mini-sites and PDFs (using the LATEX builder) for publishing. + +The source folder includes the minimum files. The ``conf.py`` file should be used to update the project specific information. + +In future releases there will be template reports included that will act as the starting point for the body, etc. + +To build the report simply use the: ``./make.bat latexpdf`` command. \ No newline at end of file diff --git a/make.bat b/make.bat new file mode 100644 index 0000000..dc1312a --- /dev/null +++ b/make.bat @@ -0,0 +1,35 @@ +@ECHO OFF + +pushd %~dp0 + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set SOURCEDIR=source +set BUILDDIR=build + +%SPHINXBUILD% >NUL 2>NUL +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.https://www.sphinx-doc.org/ + exit /b 1 +) + +if "%1" == "" goto help + +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% +goto end + +:help +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% + +:end +popd diff --git a/source/_static/appendix1.pdf b/source/_static/appendix1.pdf new file mode 100644 index 0000000..f5e56f2 Binary files /dev/null and b/source/_static/appendix1.pdf differ diff --git a/source/_static/appendix2.jpg b/source/_static/appendix2.jpg new file mode 100644 index 0000000..6a49d2e Binary files /dev/null and b/source/_static/appendix2.jpg differ diff --git a/source/_static/logo.jpg b/source/_static/logo.jpg new file mode 100644 index 0000000..ea67dd5 Binary files /dev/null and b/source/_static/logo.jpg differ diff --git a/source/body.rst b/source/body.rst new file mode 100644 index 0000000..dab462d --- /dev/null +++ b/source/body.rst @@ -0,0 +1,137 @@ +.. + This is the main body of the report, and where the majority of the work will have to be done. + + +.. + This section sets up the + +.. Here are some notes about setting up the files +.. rst2pdf -s "P:\General\common\jmk.yaml" 2325-Lucid-Casa_Grande-Load_Forecast_Report.rst + +.. ==== -> Heading 1 +.. ---- -> Heading 2 +.. ~~~~ -> Heading 3 +.. ^^^^ -> Heading 4 +.. """" -> Heading 5 + + +.. This sets the page counter to roman +.. raw:: pdf + + SetPageCounter 1 lowerroman + +.. This is the setup for the header substitutions. Sometimes there will be a second logo +.. |logo| image:: _static/logo.jpg + :width: 3cm + +.. |Revision| replace:: A +.. |Client| replace:: Lucid Motors +.. |Date| replace:: Dec 11, 2023 +.. |ProjectNum| replace:: 2325 + + +.. header:: + + .. class:: headertable + + .. list-table:: + :widths: 20 50 20 + + * - + - **###Title###** + - |Date| + * - + - CLIENT: |Client| + - Rev: |Revision| + * - |logo| + - Proj. Num: |ProjectNum| + - Page ###Page### + +.. footer:: + + ECS Engineering and JMK Engineering Inc. + + + + + +Objectives +============================== + +.. + What is this report about + +.. raw:: latex + + \lipsum + + +Scope +================= + +.. + What will this report cover. + +.. raw:: latex + + \lipsum + + +Assumptions, Clarifications and Limitations +============================================ + +Assumptions +------------------- + +1. Number 1 +#. and +#. the +#. rest of them + +Clarifications +------------------- + +1. Number 1 +#. and +#. the +#. rest of them + +Limitiations +------------------- + +1. Number 1 +#. and +#. the +#. rest of them + +Analysis +============================== + +.. + What is this report about + +.. raw:: latex + + \lipsum + \newpage + \lipsum + +Recommendations +============================== + +.. + What is this report about + +.. raw:: latex + + \lipsum + +Conclusion +============================== + +.. + What is this report about + +.. raw:: latex + + \lipsum diff --git a/source/conf.py b/source/conf.py new file mode 100644 index 0000000..19e0a0f --- /dev/null +++ b/source/conf.py @@ -0,0 +1,88 @@ +# Configuration file for the Sphinx documentation builder. +# +# This file only contains a selection of the most common options. For a full +# list see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Path setup -------------------------------------------------------------- + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +# import os +# import sys +# sys.path.insert(0, os.path.abspath('.')) + + +# -- Project information ----------------------------------------------------- + +project = 'JMK Engineering Report Template' +copyright = '2023, Jeff MacKinnon' +author = 'Jeff MacKinnon' +release = 'A' + + +# -- General configuration --------------------------------------------------- + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ +# "sphinx_design", + # "myst_nb", +# "myst-parser", +] +source_suffix = { + '.rst': 'restructuredtext', + '.ipynb': 'myst-nb', + '.myst': 'myst-nb', +} + + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = [] + + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +#html_theme = 'alabaster' +html_theme = "sphinx_book_theme" + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +# Latex setup + + +latex_additional_files = [ + '_static/logo.jpg', +] + +PREAMBLE = r""" +\setcounter{tocdepth}{1} +""" + +latex_elements = { + 'pointsize':'12pt', + 'classoptions': ',openany,oneside', + 'geometry' : '\\usepackage[letterpaper, portrait, includehead, includefoot,margin=1in,headheight=10mm]{geometry}', + 'babel': '\\usepackage[english]{babel}', + 'fncychap': '\\usepackage[Bjornstrup]{fncychap}', + 'preamble' : PREAMBLE, + 'extrapackages': r'\usepackage{fancyhdr}\usepackage{lipsum}', +} + +latex_logo = '_static/logo.jpg' + +latex_show_urls = 'inline' diff --git a/source/glossary.rst b/source/glossary.rst new file mode 100644 index 0000000..8df4fe0 --- /dev/null +++ b/source/glossary.rst @@ -0,0 +1,38 @@ +Glossary +============= + +.. + This glossary is one that is growing and growing, make sure to remove the parts that aren't needed for this project/report. + This glossary should also include all abbreviations that are used in the project. + +.. glossary:: + :sorted: + + Commissioning + Testing a completed system to ensure that it meets the design intentions + + FEED + Front End Engineering Design + Includes the design and documentation necessary to complete details scopes of work, technical schedules and specifications, and detailed construction cost estimates. + + EPCO + Engineer, Procure, Construct, Operate + A type of project execution where a single entity is resposible for all detailed engineering, material and equipment procurement, construction, and commissioning of the project and inital operations and maintenace after acceptance. + + RFI + Request for information + common business process whose purpose is to collect written information about the capabilities of various suppliers. + + EOI + Expression of Interest + A call to potential providers of goods and/or services to register interest in supplying them. Commonly a document describing requirements or specifications and seeking information from potential providers that demonstrate their ability to meet those requirements. + + RFP + Request for proposal + A document that solicits a proposal, often made through a bidding process, by an agency or company interested in procurement of a commodity, service, or valuable asset, to potential suppliers to submit business proposals. + + AHJ + Authority Having Jurisdiction + an organization, office, or individual responsible for enforcing the requirements of a code or standard, or for approving equipment, materials, an installation, or a procedure. + + diff --git a/source/index.rst b/source/index.rst new file mode 100644 index 0000000..da15cec --- /dev/null +++ b/source/index.rst @@ -0,0 +1,29 @@ +.. This is where I will be adding any other text and image substitutions that will be needed throughout the "typical" specification +.. |Title| replace:: Title of the Report +.. |SubTitle| replace:: Subtitle of the Report + +.. raw:: latex + + \pagestyle{fancy} + % Clear all headers and footers (see also \fancyhf{}) + \fancyhead{}\fancyfoot{} + \fancyhead[L]{\includegraphics[width=10mm]{logo.jpg}} + \fancyfoot[R]{\reporttitle} + + \fancyfoot[R]{\thepage} + +|Title| +========================== + +.. toctree:: + :maxdepth: 3 + :caption: Table of Contents + :name: mastertoc + :numbered: + :glob: + + summary + body + glossary + + diff --git a/source/summary.rst b/source/summary.rst new file mode 100644 index 0000000..dd35bde --- /dev/null +++ b/source/summary.rst @@ -0,0 +1,16 @@ +Executive Summary +====================== + + +.. raw:: latex + + \lipsum + + +.. note:: + + There will be topics that I expect that you may not have all the background information for. In most of these cases we will include a footnote describing where you can get more information on the topic. However, if you are reading this book in a place that looking up more information isn't helpful, we will include quick notes like this to give you just enough information to keep going. + +.. raw:: latex + + \lipsum