Files
foldsite/main.py
Tanishq Dubey ad81d7f3db
All checks were successful
Datadog Software Composition Analysis / Datadog SBOM Generation and Upload (push) Successful in 52s
Datadog Secrets Scanning / Datadog Static Analyzer (push) Successful in 1m1s
Datadog Static Analysis / Datadog Static Analyzer (push) Successful in 5m50s
docs refactor
2025-10-09 18:21:23 -04:00

65 lines
2.5 KiB
Python

from src.server.server import Server
from src.routes.routes import RouteManager
from src.config.args import create_parser
from src.config.config import Configuration
from src.rendering.helpers import TemplateHelpers
from src.server.enhanced_file_manager import create_enhanced_filemanager_blueprint
from src.rendering.debug_helpers import init_debug_helper
def main():
parser = create_parser()
args = parser.parse_args()
c = Configuration(args.config)
c.load_config()
r = RouteManager(c)
t = TemplateHelpers(c)
# Initialize debug helper for better developer experience
init_debug_helper(c)
server = Server(
debug=c.debug,
host=c.listen_address,
port=c.listen_port,
access_log=c.access_log,
workers=c.max_threads,
)
# Original template functions
server.register_template_function("get_sibling_content_files", t.get_sibling_content_files)
server.register_template_function("get_text_document_preview", t.get_text_document_preview)
server.register_template_function("get_sibling_content_folders", t.get_sibling_content_folders)
server.register_template_function("get_folder_contents", t.get_folder_contents)
# Enhanced blog-focused template helpers
server.register_template_function("get_recent_posts", t.get_recent_posts)
server.register_template_function("get_posts_by_tag", t.get_posts_by_tag)
server.register_template_function("get_photo_albums", t.get_photo_albums)
server.register_template_function("get_navigation_items", t.get_navigation_items)
server.register_template_function("generate_breadcrumbs", t.generate_breadcrumbs)
server.register_template_function("get_related_posts", t.get_related_posts)
server.register_template_function("get_all_tags", t.get_all_tags)
server.register_template_function("get_rendered_markdown", t.get_rendered_markdown)
server.register_template_function("get_markdown_metadata", t.get_markdown_metadata)
server.register_route("/styles/<path:path>", r.get_style)
server.register_route("/download/<path:path>", r.get_static)
server.register_route("/", r.default_route, defaults={"path": ""})
server.register_route("/<path:path>", r.default_route)
if c.admin_browser:
file_manager_bp = create_enhanced_filemanager_blueprint(c.content_dir, url_prefix='/admin', auth_password=c.admin_password)
server.app.register_blueprint(file_manager_bp)
try:
server.run()
except Exception as e:
print(e)
if __name__ == "__main__":
main()