# Overhauling the GitHub Wiki

**URL:** <https://forum.crystal-lang.org/t/overhauling-the-github-wiki/1303>\
**Category:** Crystal Contrib\
**Created:** [October 30, 2019, 9:39am UTC](https://forum.crystal-lang.org/t/overhauling-the-github-wiki/1303 "2019-10-30T09:39:47Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![straight-shoota](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/straight-shoota/32/36_2.png) [@straight-shoota](https://forum.crystal-lang.org/u/straight-shoota)\
**Post date:** [October 30, 2019, 9:39am UTC](https://forum.crystal-lang.org/t/overhauling-the-github-wiki/1303/1 "2019-10-30T09:39:47Z")

</div>

The [GitHub Wiki](https://github.com/crystal-lang/crystal/wiki) is not very accessible and contains a few hidden treasures that should probably be moved to the website or other places.  
As a general knowledge base the wiki is redundant: We have already have the website, language reference etc. I think it could serve best as a kind of internal developer documentation, so resources that are not relevant to the regular Crystal users, but for contributers.

These pages are currently on the wiki:

- [Home](https://github.com/crystal-lang/crystal/wiki/Home): The sections _Editor support_ and _CI integrations_ should be moved to a more public place, perhaps a _Tools_ section on the website?
- 🆗 [All required libraries](https://github.com/crystal-lang/crystal/wiki/All-required-libraries): developer documentation
- ❌ [Compiler error messages](https://github.com/crystal-lang/crystal/wiki/Compiler-error-messages): Only an obsolete example that doesn’t reproduce anymore → can be removed. (In case it comes up again, StackOverflow would be a better place for this)
- 🆗 [Compiler internals](https://github.com/crystal-lang/crystal/wiki/Compiler-internals): developer documentation
- [Crystal for Rubyists](https://github.com/crystal-lang/crystal/wiki/Crystal-for-Rubyists): This could be promoted to a guide (which currently reside inside the language reference)
- ❔ [FAQ](https://github.com/crystal-lang/crystal/wiki/FAQ): could be moved to the website, but I don’t think it’s super relevant, so could be left as is
- 🆗 [Merging PRs](https://github.com/crystal-lang/crystal/wiki/Merging-PRs): developer documentation
- [Metaprogramming Help](https://github.com/crystal-lang/crystal/wiki/Metaprogramming-Help): similar to Crystal for Rubyists
- [Online playgrounds](https://github.com/crystal-lang/crystal/wiki/Online-playgrounds): Should be moved to the website, maybe a _Tools_ section?
- 👍 [Platform Support](https://github.com/crystal-lang/crystal/wiki/Platform-Support): This should loose the draft label and move to a more public place, probably the language reference.
- 🆗 [Porting to Windows](https://github.com/crystal-lang/crystal/wiki/Porting-to-Windows): developer documentation
- ❔ [Roadmap](https://github.com/crystal-lang/crystal/wiki/Roadmap): developer documentation. Could perhaps be more prominent, but for the time being it seems fine.
- 👍 [Static Linking](https://github.com/crystal-lang/crystal/wiki/Static-Linking): Should be moved to the language reference, maybe extended as a guide with examples.
- ❌ [Threads support](https://github.com/crystal-lang/crystal/wiki/Threads-support): seems obsolete → can be removed
- [Used in production](https://github.com/crystal-lang/crystal/wiki/Used-in-production): Needs more visibility, should be moved to the website (Community section?)

---

<div class="post-metadata">

**Author:** ![straight-shoota](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/straight-shoota/32/36_2.png) [@straight-shoota](https://forum.crystal-lang.org/u/straight-shoota)\
**Post date:** [February 2, 2020, 7:03pm UTC](https://forum.crystal-lang.org/t/overhauling-the-github-wiki/1303/2 "2020-02-02T19:03:32Z")

</div>

I removed two wiki pages because they’re hopelessly outdated:

- [Compiler error messages](https://github.com/crystal-lang/crystal/wiki/Compiler-error-messages/2e30d00b8af359c2ab83389c97c337a3aa9e5bbd)
- [Threads support](https://github.com/crystal-lang/crystal/wiki/Threads-support/ce3b8356fa432cf1c4aa06593511f66a27dab2db)

---

<div class="post-metadata">

**Author:** ![rogerdpack](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/rogerdpack/32/117_2.png) [@rogerdpack](https://forum.crystal-lang.org/u/rogerdpack)\
**Post date:** [February 21, 2020, 1:29pm UTC](https://forum.crystal-lang.org/t/overhauling-the-github-wiki/1303/3 "2020-02-21T13:29:15Z")

</div>

As an aside, for me editing “the wiki” is easily outdated but about 10x easier than editing the git book.  
Or maybe .a wikibook would be a nice compromise? Dunno…I’m just pointing out that the gitbook which requires PR’s is 10x harder to contribute to :( at least for me…FWIW :|

---

<div class="post-metadata">

**Author:** ![straight-shoota](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/straight-shoota/32/36_2.png) [@straight-shoota](https://forum.crystal-lang.org/u/straight-shoota)\
**Post date:** [February 21, 2020, 1:41pm UTC](https://forum.crystal-lang.org/t/overhauling-the-github-wiki/1303/4 "2020-02-21T13:41:55Z")

</div>

That’s kind of expected. The wiki is considered more an internal developer resource while the language reference is public documentation. So naturally there should be a more extensive review process.  
The wiki can currently be edited by anyone, even without a notification popping up somewhere. That’s easy for contributions, but not ideal either with respect to maintaining integrity of the contents.

---

<div class="post-metadata">

**Author:** ![rogerdpack](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/rogerdpack/32/117_2.png) [@rogerdpack](https://forum.crystal-lang.org/u/rogerdpack)\
**Post date:** [February 21, 2020, 2:44pm UTC](https://forum.crystal-lang.org/t/overhauling-the-github-wiki/1303/5 "2020-02-21T14:44:18Z")

</div>

Yeah that makes sense. Just higher barrier to entry as well, since editing md files doesn’t have a built-in preview so is more daunting for newcomers…and github PR’s don’t give easy context (or an easy way to “modify one off changes” tbh) 😑 but they do allow for review… 🙂

---

<div class="post-metadata">

**Author:** ![straight-shoota](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/straight-shoota/32/36_2.png) [@straight-shoota](https://forum.crystal-lang.org/u/straight-shoota)\
**Post date:** [March 3, 2021, 12:33am UTC](https://forum.crystal-lang.org/t/overhauling-the-github-wiki/1303/6 "2021-03-03T00:33:45Z")

</div>

On the wiki home page I removed the entire _Editor Support_ section (linking to [GitHub - veelenga/awesome-crystal: A collection of awesome Crystal libraries, tools, frameworks and software](https://github.com/veelenga/awesome-crystal#editor-plugins) instead) and _Crystal Libraries (Shards)_ section (linking to [Community - The Crystal Programming Language](https://crystal-lang.org/community/#shards)). It’s better to have just a single place for such lists.

Also published PRs to move _Platform Support_ ([#468](https://github.com/crystal-lang/crystal-book/pull/468)) and _Static Linking_ ([#469](https://github.com/crystal-lang/crystal-book/pull/469)) to crystal-book.
