Skip to content

Add a method to convert documentation markdown files to searchable web portal #106

Description

@rcallaby

Objective

The goal of this initiative is to improve the accessibility, discoverability, and readability of the "C# Technical Interview Questions" repository. Currently, the content exists as fragmented Markdown files across multiple directory structures. By deploying a static documentation site, we will provide a superior user experience with native search, syntax highlighting, and a cohesive navigational structure.

Core Requirements

  • Centralized Documentation: Aggregate all existing Q&A Markdown files from sub-folders into a single, structured, and searchable documentation portal.
  • Search Functionality: Implement a robust, client-side search engine to allow users to quickly locate specific technical concepts or interview questions.
  • Syntax Highlighting: Ensure deep support for C# code blocks, utilizing modern theme-based coloring for improved code readability.
  • Navigation & Hierarchy: Implement a clear side-bar navigation system that maps the current folder/file structure to a user-friendly table of contents.
  • Responsive UI: Ensure the portal is fully accessible across desktop and mobile devices.

Technical Strategy

  • Framework: Utilize MkDocs paired with the Material for MkDocs theme. This choice prioritizes speed, professional aesthetics, and minimal maintenance overhead.
  • Automation: Integrate GitHub Actions to automate the build-and-deploy process. Every git push to the main branch should trigger a site rebuild and deploy the latest version to GitHub Pages.
  • Compatibility: Maintain the existing Markdown format without requiring significant refactoring of individual question files, leveraging front-matter headers for metadata where necessary.

Desired Outcome

Upon completion, the repository will feature a clean, professional web interface hosted via GitHub Pages.

  1. For Users: A searchable, professional knowledge base that makes finding specific C# technical answers instantaneous.
  2. For Maintenance: A streamlined workflow where adding a new question simply involves adding a new .md file to the repository; the site will automatically update and reflect these changes without manual HTML intervention.

Suggested Next Steps for Implementation

  1. Initialize the repository with mkdocs.yml configuration.
  2. Configure the folder structure mapping to ensure current directory hierarchies are respected in the site navigation.
  3. Draft and commit the main.yml file for GitHub Actions to enable continuous deployment.
  4. Conduct a quality assurance check on existing code snippets to verify rendering accuracy.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions