Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
124 commits
Select commit Hold shift + click to select a range
2a2198e
Initial commit for migration to Mkdocs.
Feb 21, 2025
1771f79
Restore markdown from previous pandoc/ruby version to better track ch…
Feb 21, 2025
dc51d3c
Add autorefs plugin and translate links for use with the plugin.
Feb 21, 2025
9a4681b
Use autorefs for the few outliers that were remaining.
Feb 27, 2025
016e8bd
Remove unused dependencies and alphabetize plugins.
Feb 28, 2025
cf82367
Add custom js for Katex rendering.
Feb 28, 2025
67be4bc
Clean up index file.
Feb 28, 2025
03b63c6
Reset tables in input-data index.md (will be updated with mkdocs macr…
Feb 28, 2025
467fc24
Reset input data folder.
Feb 28, 2025
6e0b22b
Restore autoref syntax for links.
Feb 28, 2025
a93a9a9
Replace insert_file functionality with mkdocs-macros' include statement.
Feb 28, 2025
38fcede
Move unused files to extra folder.
Feb 28, 2025
0030d1d
Add (draft) version of csv_table and member_table functions.
Feb 28, 2025
0c001f4
Update syntax for (most) member tables.
Mar 3, 2025
d8c749f
Update syntax for tables missing one of the five member_table keys.
Mar 3, 2025
e4482db
Fix previously broken link.
Mar 3, 2025
6e4a0fe
Update syntax for (most) csv tables.
Mar 3, 2025
91387fd
Remove inner quotations for csv_table string.
Mar 3, 2025
f78c21d
Avoid adding sort buttons for tables with only two rows.
Mar 3, 2025
bd1f460
Add degree symbol for member tables with unit of F (should be degF).
Mar 3, 2025
fbe973f
Use csv_table instead of importing from a file.
Mar 3, 2025
cb15bbe
Add support for csv_table_from_file.
Mar 3, 2025
01e78fb
Refactor main.py to use pathlib.Path instead of os.path.
Mar 3, 2025
36d70f0
Remove backslashes that trigger deprecation warnings (address two of …
Mar 3, 2025
db37d66
Update dependencies.
Mar 3, 2025
2fed8f7
Remove table-reader from mkdocs plugins.
Mar 3, 2025
6d4a1ec
Remove unused f prefix.
Mar 4, 2025
3ad0801
Delete probe-1 junk file.
Apr 29, 2025
09b065f
Add probe definition MD files, other than index.md to gitignore.
Apr 29, 2025
9088778
Add awesome nav to plugins to extract nav properties from mkdocs.yml.
Apr 29, 2025
4b4790d
Update bold headers to use actual md heading notation.
May 1, 2025
f8aa6dc
Update bold headers to use actual md heading notation.
May 2, 2025
4e8399f
Update bold headers to use actual md heading notation.
May 3, 2025
7fe8cbb
Update bold headers to use actual md heading notation.
May 3, 2025
f285682
Initial commit for hooks, adding a starter version of probes and inje…
May 3, 2025
27d39a7
Rest all markdown, since Prettier reformatted MD in a way that broke …
May 5, 2025
d4aa30d
Translate existing links to autorefs syntax.
May 5, 2025
d705a65
Clean up old test nav item.
May 5, 2025
285a8ab
Fix image paths.
May 5, 2025
18fdf6a
Restore include syntax (replacing insert_file functionality).
May 5, 2025
13d7746
Restore new syntax for member_tables.
May 5, 2025
4b9e621
Restore csv tables without headers.
May 6, 2025
24f8dd4
Restore csv tables with headers.
May 6, 2025
e57e839
Remove inner quotations for csv_table string.
May 6, 2025
62814f2
Use csv_table instead of importing from a file.
May 6, 2025
4457c63
Update bold headers to use actual md heading notation.
May 6, 2025
83a070e
Update bold headers to use actual md heading notation.
May 6, 2025
51ac3c2
Update bold headers to use actual md heading notation.
May 6, 2025
23f9fcc
Update bold headers to use actual md heading notation.
May 6, 2025
3109e88
Add ability to ignore subheadings. Add "Built-in Functions" to this c…
May 6, 2025
9d53a41
Replace member_table-type pandoc tables with invokations of member_ta…
May 6, 2025
c9cf6b3
Escape double quotes to fix a csv_table.
May 6, 2025
7f20455
Remove pandoc multiline tables from output-reports.
May 7, 2025
247dd57
Remove pandoc multiline tables from towerplant.
May 7, 2025
68acf01
Remove pandoc multiline tables from surface.
May 7, 2025
734c8e9
Fix issues with missing spaces and line breaks on output-reports.
May 7, 2025
e97ce7f
Use csv module to parse csv_string.
May 11, 2025
4372b7a
Replace all pandoc multiline tables with dl or csv_tables in input-st…
May 12, 2025
e7f5228
Add .DS_Store to .gitignore.
Jul 8, 2025
533fad1
Add CNRECS and related parsers and probe-writer.
Jul 8, 2025
8705869
Tweak CNRECS to remove all multiline field definitions (these are not…
Jul 8, 2025
666437c
Delete old comments (e.g., debug print statements).
Jul 11, 2025
defffb2
Remove "from hooks" debug string.
Jul 11, 2025
538ef1f
Remove unused dodo.py file.
Jul 11, 2025
35791c7
Remove unused doit dependency.
Jul 11, 2025
18d4201
Remove unused imports.
Jul 11, 2025
76b6205
Add MD meta and probe anchors.
Jul 11, 2025
c75e9a2
Add record aliases.
Jul 14, 2025
95eb2ae
Fix buildingAzm link.
Jul 14, 2025
fbea04c
Add line break so the docs parser can understand the grouping.
Jul 14, 2025
d5b75df
Wrap system variables in code block to avoid two dollar signs on the …
Jul 14, 2025
3aab012
Fix stacked headings in DESCOND.
Jul 14, 2025
ea2afa1
Update more headings from bold to actual MD headings.
Jul 14, 2025
a452009
Fix misc files with stacked headings.
Jul 14, 2025
2846112
Merge branch 'main' into feature/migrate-to-mkdocs
Jul 15, 2025
f289e0d
Add captions to images.
Jul 15, 2025
791fffd
Replace more bold text with MD headings.
Jul 15, 2025
212a467
Simplify plant stage heading and type definition.
Jul 15, 2025
0cd59c9
Add alias so "TOP" links to "TOP members" heading.
Jul 15, 2025
65568fc
Fix more stacked headings.
Jul 15, 2025
8ff1ee3
Add ability to check which data members do not have a frequency direc…
Jul 15, 2025
54411df
Remove unused comfort model content.
Jul 15, 2025
1fd8684
Update sfInHcFrcCoeffs table with new member_table syntax.
Jul 15, 2025
a21d04f
Remove unused gnFrZn member_table inside not_yet_implemented ternary.
Jul 15, 2025
f360b9e
Remove unused btInitCycles comment regarding fidelity of cycle degrad…
Jul 15, 2025
8df667c
Remove unused elements from hierarchy code block in input-structure.
Jul 15, 2025
8cb9f99
Update README with a draft for the new documentation system.
Jul 15, 2025
45e10ae
Add footer navigation buttons.
Jul 23, 2025
6e15f8e
Fix loop issue by unwatching probe-definitions in on_serve hook.
Jul 23, 2025
a032358
Fix missing "wsShowerCount" heading.
Jul 24, 2025
fa7ac18
Set all images to have a max-width of 50%.
Jul 25, 2025
4e240f0
Fix syntax of name heading.
Jul 25, 2025
6d9b578
Add probes/cullist txt files to .gitignore.
Jul 25, 2025
4cba543
Add first-draft of coverage checker.
Jul 28, 2025
353a71b
Move shared folder into docs folder.
Jul 28, 2025
62b4c8d
Update coverage.py to use command-line arguments for the path to cse …
Jul 28, 2025
b7dba47
Update README.
Jul 28, 2025
b1003d4
Use Atheneum Forge to initialize python project at root level.
Sep 12, 2025
ae10fab
Update to latest Mkdocs-material.
Sep 12, 2025
e98bdac
Exclude vendor directory from mypy checking.
Sep 16, 2025
ee13bcf
Install mkdocs-material research-preview-2 for improved search behavior.
Sep 16, 2025
41f198f
Merge branch 'main' into feature/migrate-to-mkdocs
Sep 17, 2025
cdb4bf9
Merge remote-tracking branch 'origin/rsys-plr' into feature/migrate-t…
Sep 17, 2025
9ffaa0a
Merge remote-tracking branch 'origin/transmitted-solar' into feature/…
Sep 17, 2025
90d2f64
Restore line-breaks required for docs parser.
Sep 17, 2025
0b3f3de
Add accumulator to input-data nav.
Sep 17, 2025
6f1203a
Update syntax for member tables and use MD headings for member names …
Sep 17, 2025
0d1619f
Merge branch 'main' into feature/migrate-to-mkdocs
Sep 22, 2025
6d2e342
Automate documentation generation through CMake.
nealkruis Sep 25, 2025
ec62514
Add doc CMake file.
nealkruis Sep 25, 2025
d6ef563
Fix defined argument passed to CMake command.
nealkruis Sep 25, 2025
6c6d2be
Make distinct document uploads for each runner.
nealkruis Sep 25, 2025
7da379e
Clean up invalid escape character warnings.
nealkruis Sep 25, 2025
7dfdee9
Use unicode degree symbols.
nealkruis Sep 25, 2025
89975e8
Clean up dated and obsolete documentation.
nealkruis Sep 25, 2025
23ee765
Merge remote-tracking branch 'origin/main' into feature/migrate-to-mk…
nealkruis Sep 25, 2025
f161ff7
Merge remote-tracking branch 'origin/main' into feature/migrate-to-mk…
nealkruis Oct 7, 2025
d291ae6
Add single page view.
nealkruis Oct 10, 2025
e66af00
Add ability to change dark/light theme.
nealkruis Oct 13, 2025
e3d006d
Add permalinks for heading anchors.
nealkruis Oct 13, 2025
4c8f918
Add hook to startup event which suprresses certain log messages from …
Oct 13, 2025
1765d77
Replace commented print statements with logger invocations.
Oct 13, 2025
33fd220
Add extra JS which removes any nested-dl paragraphs and adds the nest…
Oct 13, 2025
517d52f
Add optional chaining and add "const" to heading_level declaration.
Oct 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 0 additions & 31 deletions .github/actions/build-cse/action.yml

This file was deleted.

24 changes: 0 additions & 24 deletions .github/actions/build-docs/action.yml

This file was deleted.

10 changes: 0 additions & 10 deletions .github/actions/download-cse-artifact/action.yml

This file was deleted.

56 changes: 15 additions & 41 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,27 +53,23 @@ jobs:
- name: Get number of CPU cores # Can replace when CMake is upgraded to 3.29
uses: SimenB/github-actions-cpu-cores@v2
id: cpu-cores
- name: Build CSE
uses: ./.github/actions/build-cse
# - name: Setup Mesa3D
# uses: bigladder/github-actions/setup-mesa3d@main
# with:
# install-directory: msvc
- name: Install uv and set the python version
uses: astral-sh/setup-uv@v5
with:
arch: ${{ matrix.arch }}
config: ${{ matrix.config }}
compiler: ${{ matrix.compiler }}
- name: Build cse_tests.exe (unit tests)
run: cmake -DBUILD_ARCHITECTURE=${{ matrix.arch }} -DCONFIGURATION=${{ matrix.config }} -DTARGET_NAME=cse_tests -DBUILD_DIRECTORY=build -P cmake/build.cmake
python-version: "3.13"
- name: Build CSE
run: cmake -DBUILD_ARCHITECTURE=${{ matrix.arch }} -DCOMPILER_ID=${{ matrix.compiler }} -DCONFIGURATION=${{ matrix.config }} -DBUILD_DIRECTORY=build -DBUILD_DOCS_WITH_ALL=ON -P cmake/configure-and-build.cmake
- name: Upload executable artifact
uses: actions/upload-artifact@v4
with:
name: CSE_${{ matrix.os }}-${{ matrix.os_ver }}-${{ matrix.arch }}bit_${{ matrix.config }}
name: CSE-${{ matrix.os }}-${{ matrix.os_ver }}-${{ matrix.arch }}bit-${{ matrix.config }}
path: |
build/CSE*
build/cse*
- name: Build wcmp executable
run: cmake -DBUILD_ARCHITECTURE=${{ matrix.arch }} -DCONFIGURATION=${{ matrix.config }} -DTARGET_NAME=wcmp -DBUILD_DIRECTORY=build -P cmake/build.cmake
# - name: Setup Mesa3D
# uses: bigladder/github-actions/setup-mesa3d@main
# with:
# install-directory: msvc
- name: Test
id: test
run: ctest -C ${{ matrix.config }} -j ${{ steps.cpu-cores.outputs.count }} --output-on-failure -E shadetest # CI can't do GPU calcs at this time (the steps above get us close, but throws an exception on destruction)
Expand All @@ -87,34 +83,12 @@ jobs:
path: |
test/*.rep
test/*.REP
- name: Check test failure
if: steps.test.outcome == 'failure'
run: exit 1
build-doc:
strategy:
fail-fast: false
name: Build CSE documentation
needs: build-cse
if: ${{ always() }}
runs-on: windows-2022
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Configure CMake
run: cmake -P cmake/configure.cmake
- name: Download CSE artifact
uses: ./.github/actions/download-cse-artifact
- name: Build docs
uses: ./.github/actions/build-docs
- name: Run coverage check
run: rake coverage
working-directory: doc
env:
CSE_EXE_PATH: ..\\build\\CSE.exe
- name: Upload documentation
uses: actions/upload-artifact@v4
with:
name: Documentation
name: Documentation-${{ matrix.os }}-${{ matrix.os_ver }}-${{ matrix.arch }}
path: |
doc/output
!doc/output/.git
doc/build
- name: Check test failure
if: steps.test.outcome == 'failure'
run: exit 1
10 changes: 6 additions & 4 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,19 +18,21 @@ jobs:
with:
fetch-depth: 0
submodules: recursive
- name: Install uv and set the python version
uses: astral-sh/setup-uv@v5
with:
python-version: "3.13"
- name: Build CSE
uses: ./.github/actions/build-cse
run: cmake -DBUILD_ARCHITECTURE=32 -DCOMPILER_ID=msvc -DCONFIGURATION=Release -DBUILD_DIRECTORY=build -DBUILD_DOCS_WITH_ALL=ON -P cmake/configure-and-build.cmake
- name: Upload executable to release assets
uses: softprops/action-gh-release@v2
with:
files: build/CSE.exe
- name: Build docs
uses: ./.github/actions/build-docs
- name: Update gh-pages
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: doc/output
publish_dir: doc/build
user_name: 'cse-ci'
user_email: 'ci@cse.org'
full_commit_message: "Update docs for ${{ github.event.release.tag_name }}."
18 changes: 18 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
# Ruff version.
rev: v0.9.9
hooks:
# Run the formatter (automatically fixes in-place)
- id: ruff-format
# Run the linter
- id: ruff
args: [ --fix ]
- repo: local
hooks:
- id: mypy
name: mypy
entry: uv run mypy
require_serial: true
language: system
types: [python]
1 change: 1 addition & 0 deletions .python-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.13
13 changes: 13 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -92,3 +92,16 @@ set_directory_properties(PROPERTIES VS_STARTUP_PROJECT CSE)
enable_testing()

add_subdirectory(test)

# Documentation
set(cse_documentation_build_options "DoNotBuild;BuildWithAll;BuildSeparately")
set(CSE_BUILD_DOCUMENTATION "BuildSeparately" CACHE STRING "Choose when/if to build documentation (${cse_documentation_build_options}).")
set_property(CACHE CSE_BUILD_DOCUMENTATION PROPERTY STRINGS ${cse_documentation_build_options})

if(NOT CSE_BUILD_DOCUMENTATION IN_LIST cse_documentation_build_options)
message(FATAL_ERROR "CSE_BUILD_DOCUMENTATION must be one of ${cse_documentation_build_options}")
endif()

if(NOT CSE_BUILD_DOCUMENTATION STREQUAL "DoNotBuild")
add_subdirectory(doc)
endif()
1 change: 0 additions & 1 deletion cmake/CSEVersion.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@ if (GIT_TAG MATCHES "^v[0-9]+\\.[0-9]+\\.[0-9]+(\\-[0-9A-Za-z-]+)?$")
string(REGEX REPLACE "^v[0-9]+\\.[0-9]+\\.([0-9]+)(\\-[0-9A-Za-z-]+)?$" "\\1" CSEVRSN_PATCH "${GIT_TAG}")
if (GIT_TAG MATCHES "^v[0-9]+\\.[0-9]+\\.[0-9]+(\\-[0-9A-Za-z-]+)$")
string(REGEX REPLACE "^v[0-9]+\\.[0-9]+\\.[0-9]+(\\-[0-9A-Za-z-]+)$" "\\1" CSEVRSN_PRERELEASE "${GIT_TAG}")
message(STATUS "CSEVRSN_PRERELEASE is ${CSEVRSN_PRERELEASE}")
endif()
elseif(GIT_TAG MATCHES "^cse\\.[0-9]+$")
# old version scheme
Expand Down
4 changes: 4 additions & 0 deletions cmake/configure.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@ if (DEFINED EXECUTABLE_DIRECTORY)
set(configure_command ${configure_command} -DCSE_EXECUTABLE_DIRECTORY=${EXECUTABLE_DIRECTORY})
endif ()

if (DEFINED BUILD_DOCS_WITH_ALL)
set(configure_command ${configure_command} -DCSE_BUILD_DOCUMENTATION=BuildWithAll)
endif ()

if ("${CMAKE_HOST_SYSTEM_NAME}" STREQUAL "Windows")
if (${COMPILER_ID} STREQUAL "msvc")
# Explicitly set versions to guarantee computational stability
Expand Down
19 changes: 14 additions & 5 deletions doc/.gitignore
Original file line number Diff line number Diff line change
@@ -1,9 +1,18 @@
build/
output/
node_modules/
config.yaml
erb-out.txt
documentation-coverage-report.txt
package-lock.json

*.egg*/
.doit.*
.pytest_cache/
.vscode/
.venv/
__pycache__/
dist/

**/probe-definitions/*.md
!**/probe-definitions/index.md

probes.txt
cullist.txt

.DS_Store
17 changes: 17 additions & 0 deletions doc/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
find_program(UV_EXECUTABLE NAMES uv REQUIRED)

if(CSE_BUILD_DOCUMENTATION STREQUAL "BuildWithAll")
set(build_with_all_string "ALL")
endif()

add_custom_target(
cse_documentation
${build_with_all_string}
COMMAND ${UV_EXECUTABLE} run mkdocs build
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/src"
)

add_test(NAME documentation.coverage
COMMAND ${UV_EXECUTABLE} run coverage.py --path_to_cse $<TARGET_FILE:CSE> --path_to_input_data "docs/input-data"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/src"
)
Loading