Change default starter project structure#23
Merged
ryanmphill merged 3 commits intomainfrom Dec 14, 2025
Merged
Conversation
- Remove 'theme' layer from default directory structure - Update paths from 'src/theme/*' to 'src/*' throughout codebase - Modify build_settings.json to reflect new simplified paths - Update data_loader.py to use dynamic path resolution from settings - Adjust template_handler.py to get paths from settings instead of hardcoded values - Update all test files and fixtures to use new directory structure - Maintain backward compatibility through settings configuration This change makes the default project structure more intuitive by removing an unnecessary nesting level while preserving flexibility through the root_template_paths configuration option.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request updates the static site generator's project template and core logic to use a simplified directory structure (removing the
themesubdirectory), and improves path handling in the data loader to make it more flexible and maintainable. The most important changes are grouped below:Project template and configuration updates:
build_settings.jsonand all project template paths to remove thethemesubdirectory, simplifying the directory structure for markdown, static assets, scripts, styles, and views. [1] [2] [3]versionfield inpyproject.tomlto0.0.1a2to reflect these changes.Data loader and path handling improvements:
SettingsDictschema and related logic to support the new directory layout and to store the entire settings dictionary for easier access. [1] [2] [3]load_args,load_pages,_get_nested_markdown_dirs, and_get_nested_json_dirsto use the configured paths from settings, making the code more robust to future directory changes. [1] [2] [3]