Skip to content

Commit 7638db6

Browse files
committed
Links to the project structure items
1 parent e9d3d62 commit 7638db6

File tree

2 files changed

+84
-37
lines changed

2 files changed

+84
-37
lines changed

index.html

Lines changed: 43 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,22 @@ <h1 id="≡-c-submodule-manager-gitter"><a href="#contents">≡</a> <a href="#">
3232
</ul>
3333
<h2><a id="contents"></a> <a href="#contents"></a> <a href="#contents">Contents</a></h2>
3434
<ul>
35-
<li><a href="#project-structure">Project structure</a></li>
35+
<li><a href="#project-structure">Project structure</a><ul>
36+
<li><a href="#project-submodule">A project submodule</a><ul>
37+
<li><a href="#equipment-directory">The <code>equipment</code> directory</a></li>
38+
<li><a href="#internals-directory">The <code>internals</code> directory</a></li>
39+
<li><a href="#provides-directory">The <code>provides</code> directory</a></li>
40+
<li><a href="#requires-directory">The <code>requires</code> directory</a></li>
41+
</ul>
42+
</li>
43+
<li><a href="#target-directory">A target directory</a><ul>
44+
<li><a href="#library-target">A library</a></li>
45+
<li><a href="#testing-target">Any number of executable tests</a></li>
46+
<li><a href="#program-target">An executable program</a></li>
47+
</ul>
48+
</li>
49+
</ul>
50+
</li>
3651
<li><a href="#cppsm-command"><code>cppsm</code> command</a><ul>
3752
<li><a href="#installation">Installation</a><ul>
3853
<li><a href="#for-optional-code-formatting">For optional code formatting</a></li>
@@ -110,25 +125,36 @@ <h2><a id="contents"></a> <a href="#contents">≡</a> <a href="#contents">Conten
110125
</li>
111126
</ul>
112127
<h2><a id="project-structure"></a> <a href="#contents"></a> <a href="#project-structure">Project structure</a></h2>
113-
<p>At the root of a project there are three directories as follows:</p>
128+
<p>C++ submodule manager projects adhere to a particular structure that allows
129+
projects to be operated upon programmatically.</p>
130+
<p><a id="project-submodule"></a><a href="#project-submodule">A project submodule</a> (or
131+
project) contains four (optional) directories as follows:</p>
114132
<ul>
115-
<li>The <code>equipment</code> directory may contain any number of <em>project submodules</em> that
116-
the project internally depends upon.</li>
117-
<li>The <code>internals</code> directory may contain one or more <em>target directories</em> that
118-
are internal to the project.</li>
119-
<li>The <code>provides</code> directory may contain one or more <em>target directories</em> that are
120-
provided for dependant projects.</li>
121-
<li>The <code>requires</code> directory may contain any number of <em>project submodules</em> that
122-
the provided targets depend upon.</li>
133+
<li><a id="equipment-directory"></a><a href="#equipment-directory">The <code>equipment</code> directory</a>
134+
may contain any number of <em>project submodules</em> that the project internally
135+
depends upon.</li>
136+
<li><a id="internals-directory"></a><a href="#internals-directory">The <code>internals</code> directory</a>
137+
may contain one or more <em>target directories</em> that are internal to the project.</li>
138+
<li><a id="provides-directory"></a><a href="#provides-directory">The <code>provides</code> directory</a>
139+
may contain one or more <em>target directories</em> that are provided for dependant
140+
projects.</li>
141+
<li><a id="requires-directory"></a><a href="#requires-directory">The <code>requires</code> directory</a>
142+
may contain any number of <em>project submodules</em> that the provided targets
143+
depend upon.</li>
123144
</ul>
124-
<p>In other words, both <code>internals</code> and <code>provides</code> may contain one or more target
125-
directories. In case only a single <code>internal</code> or <code>provides</code> target directory is
126-
needed, there is no need to create a nested directory.</p>
127-
<p>A single <em>target directory</em> may simultaneously contain</p>
145+
<p>In other words, both <a href="#internals-directory"><code>internals</code></a> and
146+
<a href="#provides-directory"><code>provides</code></a> may contain one or more target directories. In
147+
case only a single target is needed, there is no need to create a nested
148+
directory structure inside of them.</p>
149+
<p><a id="target-directory"></a><a href="#target-directory">A target directory</a> may
150+
simultaneously contain:</p>
128151
<ul>
129-
<li>a library in the <code>include/${name}</code> and <code>library</code> directories,</li>
130-
<li>any number of executable tests in the <code>testing</code> directory, and</li>
131-
<li>an executable program in the <code>program</code> directory.</li>
152+
<li><a id="library-target"></a><a href="#library-target">A library</a> in the
153+
<code>include/${name}</code> and <code>library</code> directories.</li>
154+
<li><a id="testing-target"></a><a href="#testing-target">Any number of executable tests</a>
155+
in the <code>testing</code> directory.</li>
156+
<li><a id="program-target"></a><a href="#program-target">An executable program</a> in the
157+
<code>program</code> directory.</li>
132158
</ul>
133159
<p>Try the <a href="#cppsm-init-hello"><code>cppsm init-hello</code></a> script. It generates a simple
134160
example project that has essentially the following structure:</p>

index.md

Lines changed: 41 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,15 @@ See [repositories with the `#cppsm` topic](https://github.com/topics/cppsm).
2525
## <a id="contents"></a> [](#contents) [Contents](#contents)
2626

2727
- [Project structure](#project-structure)
28+
- [A project submodule](#project-submodule)
29+
- [The `equipment` directory](#equipment-directory)
30+
- [The `internals` directory](#internals-directory)
31+
- [The `provides` directory](#provides-directory)
32+
- [The `requires` directory](#requires-directory)
33+
- [A target directory](#target-directory)
34+
- [A library](#library-target)
35+
- [Any number of executable tests](#testing-target)
36+
- [An executable program](#program-target)
2837
- [`cppsm` command](#cppsm-command)
2938
- [Installation](#installation)
3039
- [For optional code formatting](#for-optional-code-formatting)
@@ -79,26 +88,38 @@ See [repositories with the `#cppsm` topic](https://github.com/topics/cppsm).
7988

8089
## <a id="project-structure"></a> [](#contents) [Project structure](#project-structure)
8190

82-
At the root of a project there are three directories as follows:
83-
84-
- The `equipment` directory may contain any number of _project submodules_ that
85-
the project internally depends upon.
86-
- The `internals` directory may contain one or more _target directories_ that
87-
are internal to the project.
88-
- The `provides` directory may contain one or more _target directories_ that are
89-
provided for dependant projects.
90-
- The `requires` directory may contain any number of _project submodules_ that
91-
the provided targets depend upon.
92-
93-
In other words, both `internals` and `provides` may contain one or more target
94-
directories. In case only a single `internal` or `provides` target directory is
95-
needed, there is no need to create a nested directory.
96-
97-
A single _target directory_ may simultaneously contain
98-
99-
- a library in the `include/${name}` and `library` directories,
100-
- any number of executable tests in the `testing` directory, and
101-
- an executable program in the `program` directory.
91+
C++ submodule manager projects adhere to a particular structure that allows
92+
projects to be operated upon programmatically.
93+
94+
<a id="project-submodule"></a>[A project submodule](#project-submodule) (or
95+
project) contains four (optional) directories as follows:
96+
97+
- <a id="equipment-directory"></a>[The `equipment` directory](#equipment-directory)
98+
may contain any number of _project submodules_ that the project internally
99+
depends upon.
100+
- <a id="internals-directory"></a>[The `internals` directory](#internals-directory)
101+
may contain one or more _target directories_ that are internal to the project.
102+
- <a id="provides-directory"></a>[The `provides` directory](#provides-directory)
103+
may contain one or more _target directories_ that are provided for dependant
104+
projects.
105+
- <a id="requires-directory"></a>[The `requires` directory](#requires-directory)
106+
may contain any number of _project submodules_ that the provided targets
107+
depend upon.
108+
109+
In other words, both [`internals`](#internals-directory) and
110+
[`provides`](#provides-directory) may contain one or more target directories. In
111+
case only a single target is needed, there is no need to create a nested
112+
directory structure inside of them.
113+
114+
<a id="target-directory"></a>[A target directory](#target-directory) may
115+
simultaneously contain:
116+
117+
- <a id="library-target"></a>[A library](#library-target) in the
118+
`include/${name}` and `library` directories.
119+
- <a id="testing-target"></a>[Any number of executable tests](#testing-target)
120+
in the `testing` directory.
121+
- <a id="program-target"></a>[An executable program](#program-target) in the
122+
`program` directory.
102123

103124
Try the [`cppsm init-hello`](#cppsm-init-hello) script. It generates a simple
104125
example project that has essentially the following structure:

0 commit comments

Comments
 (0)