# TightWiki

For years I’ve worked at places where we just needed a simple to use, searchable, unobtrusive, no-nonsense, collaborative and free place to dump documentation.
The first thing that comes to mind is a Wiki but for some reason I can never find anything that "checks all the boxes". Hopefully you'll find this one does for you.

:yum: TightWiki is an ASP.NET Core MVC Razor WIKI written in C# that sits on top of a SQLite database (zero configuration required).

:crossed_fingers: Play with the latest dev build at http://TightWiki.com/. If you want to edit, you can signup using google auth or native TightWiki login.

:eyes: Or check out the full wiki [documentation](https://tightwiki.com/Wiki%20Help%20::%20Wiki%20Help) to learn about the engine functionality.

:star: Ready to run it for yourself? Check out the [installation instructions](https://tightwiki.com/wiki_help::installation)!

:boom: Also be sure to check out the screenshots below the feature list...

:anguished: Its been like a modern retelling of Sisyphus, only this time the stone is RegEx.

# :astonished: Features (some of them anyway)
* MIT license, you can use it for free at home or at your business.
* Open source, you can make changes, submit fixes or just make suggestions.
* Completely customizable and rebrandable including name, title, footer, copyright and all images.
* User signup can be disabled, enabled and can require users to verify email before logging in.
* Multiple user roles are supported for admin, moderators, contributors and basic members.
* Easy page linking. Can even link to pages that do not exist and the link will subtly prompt you to create the page when logged in with a role that has page creation support.
* Admin shows missing pages, namespace metrics, users, roles, etc.
* Manual account creation, editing and deletion.
* All dates/times are stored in UTC and localized for logged in users.
* Admin moderation which is driven by page processing instructions for things like page deletions, review, drafts, etc.
* Page versioning. Revisions can be viewed by the original page URL with a /r/number route or by logging in a viewing the full page history.
* Revertible page history.
* Theme-able, with 25+ built in themes.
* Drag-drop fie uploads / page attachments, images.
* Versioned file uploads.
* Namespace support so you can have multiple pages with the same name in different namespaces.
* Fully baked in documentation of all wiki functions.
* Wiki Markup allows you post non-formatted code and even auto-syntax highlighting for things like C#, PHP, SQL, etc. Can also explicitly specify language.
* Wiki markup supports basic formatting, headings and sub-headings, tagging, tables, callouts, alerts, variables, bullets lists, dynamic glossaries, inline search results, dynamic tag clouds, related linking, expanding sections, auto-table of contents, and much more.
* Wiki page editing is syntax highlighted.
* Built in search supports fuzzy matching to support even mild misspellings.

# Default home page
![image](https://github.com/NTDLS/TightWiki/assets/11428567/9cc75103-26b8-4732-8118-315335cddae9)

# Site Metrics
We've beat the wiki up with more data than this, but this is our standard workload. ~45,000 pages, in ~400 namespaces, with ~250,000 revisions, created by ~1,000 users, manifesting ~5 million search tokens. The random fuzzy-match search time is 11 milliseconds. Not too shabby, right?

![image](https://github.com/user-attachments/assets/02d9da1f-e164-44ce-aee9-0c42eedc4180)


# Page search
![Clip9](https://user-images.githubusercontent.com/11428567/208713076-118d981c-5cc3-4e33-a971-f63518da01ad.png)

# Page History
![Clip2](https://user-images.githubusercontent.com/11428567/208713101-04646bf0-994a-423c-91bd-691d2e2e71fa.png)

# Example edit page
![Clip1](https://user-images.githubusercontent.com/11428567/208712847-7f15a68d-d373-49a2-a8f0-e2d8074b3413.png)

# Build in documentation list
![Clip7](https://user-images.githubusercontent.com/11428567/208712860-a92ba44d-28b2-4e36-9735-6c1f3bf78e3e.png)

# Build in documentation sample
![Clip8](https://user-images.githubusercontent.com/11428567/208712889-9cf8eeca-7e0c-4019-af72-293f1ac50bc1.png)

# Configuration
![Clip3](https://user-images.githubusercontent.com/11428567/208712916-2659d535-9b73-4ba9-bd4b-ccd003d365da.png)

# Admin page list
![Clip6](https://user-images.githubusercontent.com/11428567/208712947-b75dd885-0a40-4bcf-bb3c-afcea2194a38.png)

# Admin role list
![Clip4](https://user-images.githubusercontent.com/11428567/208712960-70b13aff-0f0c-4b04-bbd7-3c8a66dbe70c.png)

Its been like a modern retelling of Sisyphus, only this time with RegEx.
