From 89dda36194e61fdcaea5d56f60e4b73d5c1e7da6 Mon Sep 17 00:00:00 2001 From: Alex Ren <41168529+qcoral@users.noreply.github.com> Date: Mon, 12 May 2025 19:06:09 -0400 Subject: [PATCH] added advanced page routing, updated some visuals on topbar, updated some content --- Gemfile.lock | 2 +- app/assets/stylesheets/markdown.css | 9 ++- app/controllers/advanced_controller.rb | 32 ++++++++++ app/controllers/docs_controller.rb | 0 app/helpers/docs_helper.rb | 0 app/views/advanced/_sidebar.html.erb | 15 +++++ .../project_guidelines.md | 0 app/views/advanced/show.html.erb | 4 ++ app/views/{overview => advanced}/submit.md | 6 +- app/views/docs/api/overview.md | 0 app/views/docs/guides/index.md | 0 app/views/docs/guides/setup/index.md | 0 app/views/docs/show.html.erb | 0 app/views/layouts/advanced.html.erb | 42 ++++++++++++++ app/views/layouts/docs.html.erb | 0 app/views/overview/getting_started.md | 42 -------------- app/views/overview/overview.md | 58 +++++++++++++++++++ app/views/overview/undercity.md | 11 ++++ app/views/shared/_topbar.html.erb | 6 +- config/routes.rb | 2 + 20 files changed, 176 insertions(+), 53 deletions(-) create mode 100644 app/controllers/advanced_controller.rb create mode 100644 app/controllers/docs_controller.rb create mode 100644 app/helpers/docs_helper.rb create mode 100644 app/views/advanced/_sidebar.html.erb rename app/views/{overview => advanced}/project_guidelines.md (100%) create mode 100644 app/views/advanced/show.html.erb rename app/views/{overview => advanced}/submit.md (93%) create mode 100644 app/views/docs/api/overview.md create mode 100644 app/views/docs/guides/index.md create mode 100644 app/views/docs/guides/setup/index.md create mode 100644 app/views/docs/show.html.erb create mode 100644 app/views/layouts/advanced.html.erb create mode 100644 app/views/layouts/docs.html.erb delete mode 100644 app/views/overview/getting_started.md create mode 100644 app/views/overview/overview.md create mode 100644 app/views/overview/undercity.md diff --git a/Gemfile.lock b/Gemfile.lock index d01d20f..b136327 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -473,4 +473,4 @@ DEPENDENCIES web-console BUNDLED WITH - 2.6.7 \ No newline at end of file + 2.6.7 diff --git a/app/assets/stylesheets/markdown.css b/app/assets/stylesheets/markdown.css index fccf464..5fb504a 100644 --- a/app/assets/stylesheets/markdown.css +++ b/app/assets/stylesheets/markdown.css @@ -1,6 +1,6 @@ .markdown-content { line-height: 1.5; - color: #C7C2CF; + color: #dedae3; } .markdown-content h1 { @@ -99,4 +99,9 @@ div.markdown p:last-child { color: #52c0ff; text-decoration: none; text-decoration: underline wavy; -} \ No newline at end of file +} + +.markdown-content strong { + font-weight: bold; + color: #f583e4; +} diff --git a/app/controllers/advanced_controller.rb b/app/controllers/advanced_controller.rb new file mode 100644 index 0000000..0cf13ed --- /dev/null +++ b/app/controllers/advanced_controller.rb @@ -0,0 +1,32 @@ +class AdvancedController < ApplicationController + def show + # Get the requested page from the URL + page = params[:page] + + # Sanitize the page parameter to prevent directory traversal + sanitized_page = sanitize_page(page) + + # Build the file path for the Markdown file in the advanced folder + file_path = Rails.root.join("app", "views", "advanced", "#{sanitized_page}.md") + + # Check if the file exists + if File.exist?(file_path) + # Read and render the Markdown file + markdown = File.read(file_path) + renderer = Redcarpet::Markdown.new(Redcarpet::Render::HTML, extensions = {}) + @content = renderer.render(markdown) + render layout: "advanced" + else + # Render a 404 page if the file doesn't exist + render plain: "Page not found", status: :not_found + end + end + + private + + # Sanitize the page parameter to prevent directory traversal + def sanitize_page(page) + # Allow only alphanumeric characters, dashes, and underscores + page.gsub(/[^a-zA-Z0-9_-]/, "") + end +end diff --git a/app/controllers/docs_controller.rb b/app/controllers/docs_controller.rb new file mode 100644 index 0000000..e69de29 diff --git a/app/helpers/docs_helper.rb b/app/helpers/docs_helper.rb new file mode 100644 index 0000000..e69de29 diff --git a/app/views/advanced/_sidebar.html.erb b/app/views/advanced/_sidebar.html.erb new file mode 100644 index 0000000..446b6f7 --- /dev/null +++ b/app/views/advanced/_sidebar.html.erb @@ -0,0 +1,15 @@ +