Skip to content

Repository files navigation

Knowledge Base Viewer

A WPF (.NET 10) desktop app for browsing a folder tree of HTML and Markdown notes with a live preview — built for people who keep their documentation as plain files on disk rather than in a web app.

Point it at any folder. It scans the tree, reads titles out of the documents themselves, and gives you a three-pane browser: folders, files, and a rendered preview.

Knowledge Base Viewer showing the folder tree, document list, and rendered preview

Features

  • Three-pane layout — folder tree, document list, and a live rendered preview
  • Real titles, not filenames — pulls the <title> or first heading out of each HTML file so the list reads like a table of contents
  • Recursive folders expandable inline, at any depth
  • Search across filenames, or within file contents
  • Filter by file type
  • Windows shortcut (.lnk) support — folders linked from elsewhere appear in the tree as if they were local
  • Move to Folder across the whole tree, including folders that share an ancestor rather than a parent
  • Rename and Edit Title — edits the document's own title, falling back to a plain file rename for non-HTML files
  • Open in Browser / Open in Explorer from the preview
  • Skips .git, .vs, bin, and obj when scanning

Getting started

git clone <this-repo-url>
cd KnowledgeBaseViewer
dotnet run

Requires the .NET 10 SDK with the Windows desktop workload. Windows only — WPF isn't cross-platform.

On first run it points at Documents\KnowledgeBase. Use Change Folder… to pick your own; the choice is saved to %AppData%\KnowledgeBaseViewer\settings.json and remembered next time.

How it's put together

Models/
  KbFile.cs, KbFolder.cs, KbSubsection.cs    the tree and document model
Services/
  KnowledgeBaseScanner.cs                    walks the folder tree
  HtmlMetadataService.cs                     reads titles and outlines out of HTML
  ShortcutResolver.cs                        resolves .lnk targets
  AppSettings.cs                             settings persisted to %AppData%
RowTemplateSelectors.cs                      picks the right row template per item
DepthToMarginConverter.cs                    indents nested rows by depth

Tech

  • Platform: WPF, .NET 10
  • Storage: settings as JSON in %AppData%; documents stay plain files on disk
  • Dependencies: none beyond the framework

Why this project

Notes and build guides written as HTML files are easy to produce and awful to browse — a folder of files tells you nothing about what's in them. This reads the documents themselves to build a usable index, so the filesystem stays the source of truth and nothing has to be imported into a database or a web app.

About

WPF desktop app for browsing a folder tree of HTML and Markdown notes with a live preview. Reads real document titles out of the files, so a folder of notes reads like a table of contents.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages