Skip to content

Commit

Permalink
Merge pull request #694 from strictdoc-project/too-long-command-windows
Browse files Browse the repository at this point in the history
 docs: update documentation, introduce design document
  • Loading branch information
stanislaw authored May 8, 2022
2 parents 7e7d54e + 1746f67 commit 75a4c54
Show file tree
Hide file tree
Showing 33 changed files with 2,248 additions and 1,629 deletions.
7 changes: 4 additions & 3 deletions docs/sphinx/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ Welcome to StrictDoc's documentation!
:maxdepth: 1

strictdoc-1-user-manual
strictdoc-2-requirements
strictdoc-3-development-plan
strictdoc-4-backlog
strictdoc-2-development-plan
strictdoc-3-requirements
strictdoc-4-design
strictdoc-5-backlog
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,6 @@ requirements and specifications documents
**Comment:** Technical documentation is hard, it can be an extremely laborious process.
Software shall support engineers in their work with documentation.

**Comment:** The state of the art for many small companies working with
requirements: using Excel for requirements management in the projects with
hundreds or thousands of requirements.

**Children:**

- ``[SDOC-HIGH-REQS-MANAGEMENT]`` :ref:`SDOC-HIGH-REQS-MANAGEMENT`
Expand Down Expand Up @@ -108,20 +104,21 @@ to do a more advanced analysis of requirements and requirement trees:

- ``[BACKLOG-FUZZY-SEARCH]`` :ref:`BACKLOG-FUZZY-SEARCH`

Two frontends
=============
User interfaces
===============

There are two frontends for StrictDoc:
There are two user interfaces for StrictDoc:

1) Text frontend
2) Web frontend
1) Command-line interface (CLI)
2) Web interface

The text frontend is already developed, the web frontend is incubation.
The CLI interface is already developed, the web interface is (slow)
work-in-progress.

.. _FRONTEND-1-TEXT:

Text frontend
-------------
Command-line interface
----------------------

.. list-table::
:align: left
Expand All @@ -130,16 +127,16 @@ Text frontend
* - **UID:**
- FRONTEND-1-TEXT

...
StrictDoc shall provide a command-line interface.

**Children:**

- ``[BACKLOG-LSP]`` :ref:`BACKLOG-LSP`

.. _FRONTEND-2-WEB:

Web frontend
------------
Web interface
-------------

.. list-table::
:align: left
Expand All @@ -148,7 +145,7 @@ Web frontend
* - **UID:**
- FRONTEND-2-WEB

...
StrictDoc shall provide a web interface.

**Children:**

Expand All @@ -157,6 +154,6 @@ Web frontend
Development team
================

StrictDoc is a spare time project developed and maintained by a single person
StrictDoc is a spare time project developed and maintained by two people
with occasional contributions from the Open Source community.

Original file line number Diff line number Diff line change
Expand Up @@ -527,31 +527,3 @@ StrictDoc shall generate source coverage information.

**Comment:** Source coverage screen shows how source files are linked with requirements.

Design decisions
================

Building blocks
---------------

TextX
~~~~~

TextX shall be used for StrictDoc grammar definition and parsing of the sdoc files.

**Comment:** TextX is an easy-to-install Python tool. It is fast, works out of the box.

Jinja2
~~~~~~

Jinja2 shall be used for rendering HTML templates.

Sphinx and Docutils
~~~~~~~~~~~~~~~~~~~

Sphinx and Docutils shall be used for the following capabilities:

- Support of Restructured Text (reST) format
- Generation of RST documents into HTML
- Generation of RST documents into PDF using LaTeX
- Generating documentation websites using Sphinx

31 changes: 31 additions & 0 deletions docs/sphinx/source/strictdoc-4-design.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
StrictDoc Design Document
$$$$$$$$$$$$$$$$$$$$$$$$$

Design decisions
================

Building blocks
---------------

TextX
~~~~~

TextX shall be used for StrictDoc grammar definition and parsing of the sdoc files.

**Comment:** TextX is an easy-to-install Python tool. It is fast, works out of the box.

Jinja2
~~~~~~

Jinja2 shall be used for rendering HTML templates.

Sphinx and Docutils
~~~~~~~~~~~~~~~~~~~

Sphinx and Docutils shall be used for the following capabilities:

- Support of Restructured Text (reST) format
- Generation of RST documents into HTML
- Generation of RST documents into PDF using LaTeX
- Generating documentation websites using Sphinx

File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,6 @@ COMMENT: >>>
Technical documentation is hard, it can be an extremely laborious process.
Software shall support engineers in their work with documentation.
<<<
COMMENT: >>>
The state of the art for many small companies working with
requirements: using Excel for requirements management in the projects with
hundreds or thousands of requirements.
<<<

[REQUIREMENT]
UID: GOAL-2-REDUCE-DOCUMENTATION-HAZARDS
Expand Down Expand Up @@ -83,29 +78,30 @@ to do a more advanced analysis of requirements and requirement trees:
[/SECTION]

[SECTION]
TITLE: Two frontends
TITLE: User interfaces

[FREETEXT]
There are two frontends for StrictDoc:
There are two user interfaces for StrictDoc:

1) Text frontend
2) Web frontend
1) Command-line interface (CLI)
2) Web interface

The text frontend is already developed, the web frontend is incubation.
The CLI interface is already developed, the web interface is (slow)
work-in-progress.
[/FREETEXT]

[REQUIREMENT]
UID: FRONTEND-1-TEXT
TITLE: Text frontend
UID: UI-1-TEXT
TITLE: Command-line interface
STATEMENT: >>>
...
StrictDoc shall provide a command-line interface.
<<<

[REQUIREMENT]
UID: FRONTEND-2-WEB
TITLE: Web frontend
UID: UI-2-WEB
TITLE: Web interface
STATEMENT: >>>
...
StrictDoc shall provide a web interface.
<<<

[/SECTION]
Expand All @@ -114,7 +110,7 @@ STATEMENT: >>>
TITLE: Development team

[FREETEXT]
StrictDoc is a spare time project developed and maintained by a single person
StrictDoc is a spare time project developed and maintained by two people
with occasional contributions from the Open Source community.
[/FREETEXT]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -337,7 +337,7 @@ STATEMENT: StrictDoc shall support exporting documents to Sphinx/RST format.
UID: SDOC-GEN-EXCEL-EXPORT
REFS:
- TYPE: File
VALUE: strictdoc/export/excel/excel_generator.py
VALUE: strictdoc/backend/excel/export/excel_generator.py
TITLE: Excel Export
STATEMENT: StrictDoc shall support exporting documents to Excel format.

Expand Down Expand Up @@ -422,35 +422,3 @@ Source coverage screen shows how source files are linked with requirements.
<<<

[/SECTION]

[SECTION]
TITLE: Design decisions

[SECTION]
TITLE: Building blocks

[REQUIREMENT]
TITLE: TextX
STATEMENT: TextX shall be used for StrictDoc grammar definition and parsing of the sdoc files.
COMMENT: >>>
TextX is an easy-to-install Python tool. It is fast, works out of the box.
<<<

[REQUIREMENT]
TITLE: Jinja2
STATEMENT: Jinja2 shall be used for rendering HTML templates.

[REQUIREMENT]
TITLE: Sphinx and Docutils
STATEMENT: >>>
Sphinx and Docutils shall be used for the following capabilities:

- Support of Restructured Text (reST) format
- Generation of RST documents into HTML
- Generation of RST documents into PDF using LaTeX
- Generating documentation websites using Sphinx
<<<

[/SECTION]

[/SECTION]
36 changes: 36 additions & 0 deletions docs/strictdoc-4-design.sdoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
[DOCUMENT]
TITLE: StrictDoc Design Document
OPTIONS:
REQUIREMENT_STYLE: Inline

[SECTION]
TITLE: Design decisions

[SECTION]
TITLE: Building blocks

[REQUIREMENT]
TITLE: TextX
STATEMENT: TextX shall be used for StrictDoc grammar definition and parsing of the sdoc files.
COMMENT: >>>
TextX is an easy-to-install Python tool. It is fast, works out of the box.
<<<

[REQUIREMENT]
TITLE: Jinja2
STATEMENT: Jinja2 shall be used for rendering HTML templates.

[REQUIREMENT]
TITLE: Sphinx and Docutils
STATEMENT: >>>
Sphinx and Docutils shall be used for the following capabilities:

- Support of Restructured Text (reST) format
- Generation of RST documents into HTML
- Generation of RST documents into PDF using LaTeX
- Generating documentation websites using Sphinx
<<<

[/SECTION]

[/SECTION]
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ COMMENT: The current plan is to implement this using ReqIF export/import feature
UID: BACKLOG-LSP
REFS:
- TYPE: Parent
VALUE: FRONTEND-1-TEXT
VALUE: UI-1-TEXT
TITLE: SDoc Language Server Protocol
STATEMENT: >>>
StrictDoc shall support Language Server Protocol.
Expand Down Expand Up @@ -189,7 +189,7 @@ Several trade-offs to consider:
UID: BACKLOG-WEB
REFS:
- TYPE: Parent
VALUE: FRONTEND-2-WEB
VALUE: UI-2-WEB
TITLE: Web server and editable HTML pages
STATEMENT: >>>
StrictDoc shall provide a web server that serves as a StrictDoc backend for
Expand Down
48 changes: 48 additions & 0 deletions docs/strictdoc-html/strictdoc-html/_static/_requirement.css
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,11 @@ article > section:last-of-type {
padding-bottom: var(--base-padding);
}

.document-view article > section {
padding-left: 0;
padding-right: 0;
}

/* .table-view */

.table-view section,
Expand Down Expand Up @@ -494,3 +499,46 @@ input:checked + .std-switch_slider:before {
.requirements-coverage-document-title:first-child {
margin-top: -1rem;
}

/* requirement-table */

.requirement-table {
border-collapse: collapse;
width: 100%;
}

.requirement-table caption {
text-align: left;
background-color: var(--color-bg-main);
margin-bottom: -1px;
font-size: 1.2em;
}

.requirement-table th {
background-color: #fff;
text-align: left;
font-weight: normal;
text-transform: uppercase;
font-family: 'Courier New', Courier, monospace;
width: 10%;
}

.requirement-table td,
.requirement-table th,
.requirement-table caption {
padding: .5rem 1rem;
border: 1px solid #666;
}

.requirement-table ul.requirement_link:first-child,
.requirement-table p:first-child {
margin-top: 0;
}
.requirement-table ul.requirement_link:last-child,
.requirement-table p:last-child {
margin-bottom: 0;
}

.requirement-table ul.requirement_link {
font-size: 1em;
}
Loading

0 comments on commit 75a4c54

Please sign in to comment.