Skip to content

Commit 224c2ae

Browse files
committed
init
1 parent 70b5ff7 commit 224c2ae

10 files changed

Lines changed: 558 additions & 23 deletions

File tree

.python-version

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
3.14

Doxyfile

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -524,19 +524,19 @@ TIMESTAMP = DATE
524524
# normally produced when WARNINGS is set to YES.
525525
# The default value is: NO.
526526

527-
EXTRACT_ALL = YES
527+
EXTRACT_ALL = NO
528528

529529
# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will
530530
# be included in the documentation.
531531
# The default value is: NO.
532532

533-
EXTRACT_PRIVATE = YES
533+
EXTRACT_PRIVATE = NOE
534534

535535
# If the EXTRACT_PRIV_VIRTUAL tag is set to YES, documented private virtual
536536
# methods of a class will be included in the documentation.
537537
# The default value is: NO.
538538

539-
EXTRACT_PRIV_VIRTUAL = YES
539+
EXTRACT_PRIV_VIRTUAL = NO
540540

541541
# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal
542542
# scope will be included in the documentation.
@@ -1240,7 +1240,7 @@ IGNORE_PREFIX =
12401240
# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output
12411241
# The default value is: YES.
12421242

1243-
GENERATE_HTML = YES
1243+
GENERATE_HTML = NO
12441244

12451245
# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a
12461246
# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
@@ -1275,7 +1275,7 @@ HTML_FILE_EXTENSION = .html
12751275
# of the possible markers and block names see the documentation.
12761276
# This tag requires that the tag GENERATE_HTML is set to YES.
12771277

1278-
HTML_HEADER = docs/style/header.html
1278+
HTML_HEADER =
12791279

12801280
# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
12811281
# generated HTML page. If the tag is left blank doxygen will generate a standard
@@ -1315,7 +1315,7 @@ HTML_STYLESHEET =
13151315
# documentation.
13161316
# This tag requires that the tag GENERATE_HTML is set to YES.
13171317

1318-
HTML_EXTRA_STYLESHEET = docs/style/doxygen-awesome-css/doxygen-awesome.css
1318+
HTML_EXTRA_STYLESHEET =
13191319

13201320
# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
13211321
# other source files which should be copied to the HTML output directory. Note
@@ -1325,11 +1325,7 @@ HTML_EXTRA_STYLESHEET = docs/style/doxygen-awesome-css/doxygen-awesome.css
13251325
# files will be copied as-is; there are no commands or markers available.
13261326
# This tag requires that the tag GENERATE_HTML is set to YES.
13271327

1328-
HTML_EXTRA_FILES = \
1329-
docs/style/doxygen-awesome-css/doxygen-awesome-darkmode-toggle.js \
1330-
docs/style/doxygen-awesome-css/doxygen-awesome-fragment-copy-button.js \
1331-
docs/style/doxygen-awesome-css/doxygen-awesome-paragraph-link.js \
1332-
docs/style/doxygen-awesome-css/doxygen-awesome-interactive-toc.js
1328+
HTML_EXTRA_FILES =
13331329

13341330
# The HTML_COLORSTYLE tag can be used to specify if the generated HTML output
13351331
# should be rendered with a dark or light theme.
@@ -2191,7 +2187,7 @@ MAN_LINKS = NO
21912187
# captures the structure of the code including all documentation.
21922188
# The default value is: NO.
21932189

2194-
GENERATE_XML = NO
2190+
GENERATE_XML = YES
21952191

21962192
# The XML_OUTPUT tag is used to specify where the XML pages will be put. If a
21972193
# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
@@ -2208,7 +2204,7 @@ XML_OUTPUT = xml
22082204
# The default value is: YES.
22092205
# This tag requires that the tag GENERATE_XML is set to YES.
22102206

2211-
XML_PROGRAMLISTING = YES
2207+
XML_PROGRAMLISTING = NO
22122208

22132209
# If the XML_NS_MEMB_FILE_SCOPE tag is set to YES, doxygen will include
22142210
# namespace members in file scope as well, matching the HTML output.

Makefile

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
1-
.PHONY: doxy clean-doxy clean
1+
.PHONY: docs serve-docs clean-docs clean
22

3-
doxy:
4-
@echo "==> Building Doxygen documentation..."
5-
doxygen Doxyfile
6-
uv run python scripts/postprocess_doxyhtml.py documentation/ --img-rules docs/style/img_style_rules.json
7-
@echo "==> Doxygen build complete."
3+
docs:
4+
@echo "==> Building MkDocs documentation..."
5+
uv run mkdocs build
6+
@echo "==> Documentation build complete. Output is in site/"
87

9-
clean-doxy:
10-
@echo "==> Cleaning Doxygen build directory..."
11-
rm -rf documentation/
8+
serve-docs:
9+
@echo "==> Serving MkDocs documentation locally..."
10+
uv run mkdocs serve
1211

13-
clean: clean-doxy
12+
clean-docs:
13+
@echo "==> Cleaning documentation build directories..."
14+
rm -rf site/
15+
rm -rf xml/
16+
17+
clean: clean-docs

docs/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
--8<-- "README.md"

docs/scripts/mathjax.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
window.MathJax = {
2+
tex: {
3+
inlineMath: [["\\(", "\\)"]],
4+
displayMath: [["\\[", "\\]"]],
5+
processEscapes: true,
6+
processEnvironments: true
7+
},
8+
options: {
9+
ignoreHtmlClass: ".*|",
10+
processHtmlClass: "arithmatex"
11+
}
12+
};

include/gl/graph.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,11 +79,13 @@ struct to_impl;
7979
/// Big-O: \f$\mathcal{O}(\vert V \vert + \vert E \vert)\f$
8080
///
8181
/// Display math:
82+
///
8283
/// $$
8384
/// \sum_{v \in V} \text{deg}(v) = 2 \vert E \vert
8485
/// $$
8586
///
8687
/// Complex environment:
88+
///
8789
/// $$
8890
/// A_{i,j} = \begin{cases} 1 & \text{if } (i,j) \in E \\\\ 0 & \text{otherwise} \end{cases}
8991
/// $$

main.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
def main():
2+
print("Hello from cpp-gl!")
3+
4+
5+
if __name__ == "__main__":
6+
main()

mkdocs.yml

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
site_name: CPP-GL
2+
site_description: "General-purpose Template Graph and Hypergraph Library for Modern C++"
3+
repo_url: "https://github.com/SpectraL519/cpp-gl"
4+
5+
theme:
6+
name: material
7+
logo: docs/img/cpp-gl-hex.png
8+
favicon: docs/img/cpp-gl-hex.png
9+
features:
10+
- navigation.tabs # Top-level navigation tabs
11+
- navigation.sections # Collapsible side-menu sections
12+
- search.suggest
13+
- search.highlight
14+
- content.code.copy # Copy buttons on code blocks
15+
palette:
16+
# Light Mode
17+
- media: "(prefers-color-scheme: light)"
18+
scheme: default
19+
primary: indigo
20+
toggle:
21+
icon: material/brightness-7
22+
name: Switch to dark mode
23+
# Dark Mode
24+
- media: "(prefers-color-scheme: dark)"
25+
scheme: slate
26+
primary: indigo
27+
toggle:
28+
icon: material/brightness-4
29+
name: Switch to light mode
30+
31+
markdown_extensions:
32+
- admonition
33+
- tables
34+
- md_in_html # <-- FIX FOR BADGES
35+
- pymdownx.details
36+
- pymdownx.superfences
37+
- pymdownx.arithmatex:
38+
generic: true
39+
- pymdownx.snippets: # <-- FIX FOR README DUPLICATION
40+
base_path: "."
41+
check_paths: true # Attempts to fix image paths when injecting
42+
43+
plugins:
44+
- search
45+
- mkdoxy:
46+
projects:
47+
cpp-gl:
48+
src-dirs: include # The directory to scan
49+
full-doc: True
50+
doxy-cfg:
51+
# You can override Doxyfile settings here if needed,
52+
# or MkDoxy will just use your existing Doxyfile.
53+
PROJECT_NAME: "CPP-GL"
54+
55+
# Inject MathJax for LaTeX rendering
56+
extra_javascript:
57+
- scripts/mathjax.js
58+
- https://polyfill.io/v3/polyfill.min.js?features=es6
59+
- https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js
60+
61+
nav:
62+
- Home: index.md
63+
- CPP-GL API: # <-- FIXES THE TAB NAME
64+
- Namespaces: cpp-gl/namespaces.md
65+
- Classes & Structs: cpp-gl/annotated.md
66+
- Files: cpp-gl/files.md
67+
# You can omit macros, modules, etc., if you don't want them cluttering the menu

pyproject.toml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
[project]
2+
name = "cpp-gl"
3+
version = "0.1.0"
4+
description = "Add your description here"
5+
readme = "README.md"
6+
requires-python = ">=3.14"
7+
dependencies = [
8+
"mkdocs>=1.6.1",
9+
"mkdocs-material>=9.7.6",
10+
"mkdoxy>=1.2.8",
11+
]

0 commit comments

Comments
 (0)