# Is anyone working on a Discourse Wiki?

**URL:** https://meta.discourse.org/t/is-anyone-working-on-a-discourse-wiki/20349
**Category:** Feature
**Created:** [23.Сентябрь.2014 06:21:02 UTC](https://meta.discourse.org/t/is-anyone-working-on-a-discourse-wiki/20349 "2014-09-23T06:21:02Z")
**Posts on this page:** 20
**Page:** 2

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [13.Ноябрь.2015 20:18:08 UTC](https://meta.discourse.org/t/is-anyone-working-on-a-discourse-wiki/20349/21 "2015-11-13T20:18:08Z")

</div>

Buy an enterprise hosting contract is the main way to move forward. None of our customers are asking for this. Not opposed to it but we have other priorities based on our paying customers at the moment.

---

<div class="post-metadata">

### Author: ![wesochuck](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/wesochuck/32/108706_2.png) [@wesochuck](https://meta.discourse.org/u/wesochuck)
#### Post date: [13.Ноябрь.2015 21:02:27 UTC](https://meta.discourse.org/t/is-anyone-working-on-a-discourse-wiki/20349/22 "2015-11-13T21:02:27Z")

</div>

> [@alefattorini](#):
>
> Automatic table of contents.

This one has been spec’d out and currently has a “bounty”:

> [@PAID: Table of Contents](https://meta.discourse.org/t/paid-table-of-contents/35439):
>
> This. PM me if interested.

---

<div class="post-metadata">

### Author: ![cregox](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/cregox/32/115904_2.png) [@cregox](https://meta.discourse.org/u/cregox)
#### Post date: [20.Ноябрь.2015 07:36:09 UTC](https://meta.discourse.org/t/is-anyone-working-on-a-discourse-wiki/20349/23 "2015-11-20T07:36:09Z")

</div>

> [@alefattorini](#):
>
> Automatic wiki-mode setting of new pages/topics.

If you want to split the requests, that probably could be done through another feature:

[Topic templates](https://meta.discourse.org/t/topic-templates/18282/33) commands. So we could issue a command to turn it into wiki. Not sure if this have been considered yet, or why not. If it haven’t, I’m probably posting this in the wrong place… 😛

---

<div class="post-metadata">

### Author: ![Brian\_McGonagill](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/brian_mcgonagill/32/179546_2.png) [@Brian\_McGonagill](https://meta.discourse.org/u/Brian_McGonagill)
#### Post date: [25.Апрель.2016 17:35:48 UTC](https://meta.discourse.org/t/is-anyone-working-on-a-discourse-wiki/20349/24 "2016-04-25T17:35:48Z")

</div>

Just to throw in my 2 cents. I love Discourse, and a Wiki option would be AWESOME! I too feel like most wiki software is stuck in 2005 or earlier.

---

<div class="post-metadata">

### Author: ![DeanMarkTaylor](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/deanmarktaylor/32/102462_2.png) [@DeanMarkTaylor](https://meta.discourse.org/u/DeanMarkTaylor)
#### Post date: [25.Апрель.2016 17:39:16 UTC](https://meta.discourse.org/t/is-anyone-working-on-a-discourse-wiki/20349/25 "2016-04-25T17:39:16Z")

</div>

> [@Brian\_McGonagill](#):
>
> a Wiki option would be AWESOME

To be clear “Wiki” functionality exists:

> [@Editing and creating wiki posts](https://meta.discourse.org/t/what-is-a-wiki-post/30801):
>
> bookmark This guide explains how to create and edit wiki posts, including their purpose, permissions, and best practices. person_raising_hand Required user level: All users (with specific permissions based on group membership) Wiki posts in Discourse are special types of posts that can be edited by multiple users which allows for collaborative editing and knowledge sharing within a community. They are particularly useful for documentation, FAQs, and other content that benefits from commu…

> [@Configuring wiki settings](https://meta.discourse.org/t/how-to-create-a-wiki-post/30802):
>
> bookmark This guide explains how to configure wiki settings to meet your community’s needs, including how to determine who can create and edit wiki posts. person_raising_hand Required user level: Administrator What is a wiki post? Configure who can edit a wiki post Users can edit wiki posts when they meet the following requirements: The user must belong to at least one of the edit wiki post allowed groups (This site setting is configured to trust\_level\_1 by default). The user must b…

Perhaps it’s not an exact replacement for Wikipedia’s MediaWiki - but the base functionality to a large degree exists and works.

---

<div class="post-metadata">

### Author: ![Tom\_Newsom](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tom_newsom/32/115981_2.png) [@Tom\_Newsom](https://meta.discourse.org/u/Tom_Newsom)
#### Post date: [25.Апрель.2016 21:39:50 UTC](https://meta.discourse.org/t/is-anyone-working-on-a-discourse-wiki/20349/26 "2016-04-25T21:39:50Z")

</div>

It’s a solid foundation that could be much improved with a little bit of work:

In a “wiki category” :

- All new topics are wikified by default
- Author attribution is suppressed
- Always go to first post when viewing a topic  
(option to hide replies on separate page)

And made into a “proper” wiki with some more detailed and involved work:

- Table of contents generation with [contents] object and headers
- Create links to other topics by “tagging” them ie. `&PageTitle`
- Create new topics by tagging a non-existant page eg. `&NewTopic`

---

<div class="post-metadata">

### Author: ![angus](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/angus/32/341715_2.png) [@angus](https://meta.discourse.org/u/angus)
#### Post date: [23.Сентябрь.2016 14:41:50 UTC](https://meta.discourse.org/t/is-anyone-working-on-a-discourse-wiki/20349/27 "2016-09-23T14:41:50Z")

</div>

I happened to be looking at this today in another context. While it’s a little convoluted, it is actually possible to pass non-default parameters (such as wiki) to new posts. It took me a little while to figure this out, so someone else may find it useful. There are four things you need to do:

1. Set `wiki` to true when creating the `post` record in the store.
2. Add `wiki` to the serialized composer properties via `Composer.serializeOnCreate`.
3. Use `PostRevisor.track_topic_field(:wiki)` to add `wiki` as a permitted param in the `posts_controller`.
4. Save the `wiki` opt to the Post using the `post_created` event.

---

<div class="post-metadata">

### Author: ![Muiran](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/muiran/32/73797_2.png) [@Muiran](https://meta.discourse.org/u/Muiran)
#### Post date: [24.Сентябрь.2016 17:07:02 UTC](https://meta.discourse.org/t/is-anyone-working-on-a-discourse-wiki/20349/28 "2016-09-24T17:07:02Z")

</div>

I’ve been trying to decide which official Wiki to create a plugin with MediaWiki Classic of the new FederatedWiki.

Thank you so much for posting your experience.

---

<div class="post-metadata">

### Author: ![ChrisBeach](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/chrisbeach/32/214628_2.png) [@ChrisBeach](https://meta.discourse.org/u/ChrisBeach)
#### Post date: [24.Сентябрь.2016 17:40:57 UTC](https://meta.discourse.org/t/is-anyone-working-on-a-discourse-wiki/20349/29 "2016-09-24T17:40:57Z")

</div>

Wiki pages on a forum are a great idea, kudos to Discourse. The revisions system works well. The editor is great.

But there’s a massive gap in functionality from my PoV.

**If two people edit concurrently, one person’s work is lost**

We’ve not had much use of the wiki feature on [my forum](https://se23.life) (1000 visits/day) but we’ve already seen multiple edit clashes.

Suggested solutions in order of preference (preferred first):

1. Live collaboration (show where the editors’ cursors are, as per google docs).
2. Lock a post to other editors when it’s being edited
3. Allow conflicts to be merged by the last editor.

---

<div class="post-metadata">

### Author: ![Mittineague](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mittineague/32/114259_2.png) [@Mittineague](https://meta.discourse.org/u/Mittineague)
#### Post date: [24.Сентябрь.2016 17:56:46 UTC](https://meta.discourse.org/t/is-anyone-working-on-a-discourse-wiki/20349/30 "2016-09-24T17:56:46Z")

</div>

> [@ChrisBeach](#):
>
> If two people edit concurrently, one person’s work is lost

I haven’t tested this locally, but are both revisions available in the edit history modal?

(BTW you posted an incomplete URL to the example of the problem)

---

<div class="post-metadata">

### Author: ![ChrisBeach](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/chrisbeach/32/214628_2.png) [@ChrisBeach](https://meta.discourse.org/u/ChrisBeach)
#### Post date: [24.Сентябрь.2016 18:03:00 UTC](https://meta.discourse.org/t/is-anyone-working-on-a-discourse-wiki/20349/31 "2016-09-24T18:03:00Z")

</div>

I believe both revisions are there in the history, yes. The link is just to the forum. The conflicts were in our private staff area. The issue is easily reproducible.

---

<div class="post-metadata">

### Author: ![fefrei](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/fefrei/32/119538_2.png) [@fefrei](https://meta.discourse.org/u/fefrei)
#### Post date: [27.Сентябрь.2016 10:00:07 UTC](https://meta.discourse.org/t/is-anyone-working-on-a-discourse-wiki/20349/32 "2016-09-27T10:00:07Z")

</div>

Yes, both are visible – but the second person to make the edit usually won’t notice that they reverted the previous person’s changes. ☹

---

<div class="post-metadata">

### Author: ![ron\_jeremy](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ron_jeremy/32/56621_2.png) [@ron\_jeremy](https://meta.discourse.org/u/ron_jeremy)
#### Post date: [28.Сентябрь.2016 05:58:41 UTC](https://meta.discourse.org/t/is-anyone-working-on-a-discourse-wiki/20349/33 "2016-09-28T05:58:41Z")

</div>

I’ve not tried this myself, but I think the [Pages theme](https://github.com/getgrav/grav-theme-learn2) for Grav (a flat file CMS) could serve as a wiki. Additionally, Grav has support for Discourse comments via the [JS Comments](https://github.com/Sommerregen/grav-plugin-jscomments) plugin.

The [official Grav docs](https://learn.getgrav.org/) use the same theme.

---

<div class="post-metadata">

### Author: ![JQ331](https://avatars.discourse-cdn.com/v4/letter/j/41988e/32.png) [@JQ331](https://meta.discourse.org/u/JQ331)
#### Post date: [15.Май.2020 17:38:12 UTC](https://meta.discourse.org/t/is-anyone-working-on-a-discourse-wiki/20349/34 "2020-05-15T17:38:12Z")

</div>

Это обсуждение уже несколько лет, но я наткнулся на него, когда понял, что организация моего форума в виде вики была бы действительно крутой. @peternlewis отлично описал то, что я бы хотел видеть. Речь идет не просто о возможности редактирования отдельных постов в стиле вики, а о том, чтобы мой сайт на Discourse работал как Википедия. Как он сказал:

> [@peternlewis](#):
>
> На мой взгляд, для моих целей вики — это прежде всего инструмент для отображения структурированной информации, которую можно легко редактировать (либо всеми пользователями, либо определенным набором зарегистрированных пользователей).

Возможно ли это в Discourse?

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [15.Май.2020 18:21:52 UTC](https://meta.discourse.org/t/is-anyone-working-on-a-discourse-wiki/20349/35 "2020-05-15T18:21:52Z")

</div>

> [@JQ331](#):
>
> Возможно ли это с помощью Discourse?

Это ли оно? [https://meta.discourse.org/knowledge-explorer](https://meta.discourse.org/knowledge-explorer)

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [15.Май.2020 18:37:33 UTC](https://meta.discourse.org/t/is-anyone-working-on-a-discourse-wiki/20349/37 "2020-05-15T18:37:33Z")

</div>

> [@EricGT](#):
>
> Нет оглавления или чего-то подобного для лучшей организации данных.

Вы можете установить [DiscoTOC - automatic table of contents](https://meta.discourse.org/t/discotoc-automatic-table-of-contents/111143?u=falco) на любом тарифном плане.

> [@EricGT](#):
>
> - Поскольку сайт посвящён языкам программирования, мы также хотели встраивать интерактивные блоки кода, где код можно редактировать и запускать. Эта идея не состоялась ещё до того, как удалось добиться хоть какого-то рабочего решения в Discourse, отчасти из-за HTML-фильтра Discourse.

Вы можете встраивать исполняемый код с помощью Codepen или [https://repl.it/](https://repl.it/).

---

<div class="post-metadata">

### Author: ![EricGT](https://avatars.discourse-cdn.com/v4/letter/e/f1d935/32.png) [@EricGT](https://meta.discourse.org/u/EricGT)
#### Post date: [15.Май.2020 19:10:34 UTC](https://meta.discourse.org/t/is-anyone-working-on-a-discourse-wiki/20349/38 "2020-05-15T19:10:34Z")

</div>

> [@Falco](#):
>
> Вы можете установить [DiscoTOC — автоматическая таблица содержания](https://meta.discourse.org/t/discotoc-automatic-table-of-contents/111143) на любом тарифном плане

Спасибо.

Если быть более точным, я думаю, что мы используем один из тарифных планов с открытым исходным кодом, и, вероятно, именно этот: [Free Hosting for Open Source v2](https://blog.discourse.org/2018/11/free-hosting-for-open-source-v2/)

Как администратор я проверил, могу ли я установить DiscoTOC, но его не было в списке доступных плагинов. 🙁

* * *

> [@Falco](#):
>
> > [@EricGT](#):
> >
> > - Поскольку сайт посвящён языку программирования, мы также хотели внедрить активные блоки кода, где код можно было бы редактировать и запускать. Эта идея заглохла ещё до того, как что-то близкое к рабочему решению было реализовано в Discourse, отчасти из-за HTML-фильтра Discourse.
> 
> Вы можете внедрить исполняемый код с помощью Codepen или [https://repl.it/](https://repl.it/)

Спасибо, но, к сожалению, мы программисты на [Prolog](https://en.wikipedia.org/wiki/Prolog), а именно на [SWI-Prolog](https://www.swi-prolog.org/) ([форум Discourse](https://swi-prolog.discourse.group/)). Хотя есть некоторая возможность работать с [некоторым Prolog в CodePen](https://codepen.io/Hellgangou/pen/ZNxwgB), это далеко не то, что можно сделать с Prolog. Поскольку это не был именно SWI-Prolog, этот вариант не был использован. В SWI-Prolog есть онлайн-инструмент под названием [SWISH](https://swish.swi-prolog.org/), но даже он ограничен в возможностях из-за соображений безопасности и не позволяет делать всё, что возможно с Prolog. Если вы знаете, насколько мощным может быть LISP благодаря своей [гомоиконичности](https://en.wikipedia.org/wiki/Homoiconicity), то вы поймёте, о чём речь. Я пытался интегрировать SWISH с помощью [Iframe](https://www.w3schools.com/html/html_iframe.asp) и другими способами, но ни один из них не работал так, как хотелось бы. Мне удалось что-то запустить, но это было непрактично: ширина экрана, насколько я помню.

Ещё раз спасибо за обратную связь, она была очень ценной.

---

<div class="post-metadata">

### Author: ![tomtjes](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tomtjes/32/131271_2.png) [@tomtjes](https://meta.discourse.org/u/tomtjes)
#### Post date: [15.Май.2020 19:41:58 UTC](https://meta.discourse.org/t/is-anyone-working-on-a-discourse-wiki/20349/39 "2020-05-15T19:41:58Z")

</div>

> [@EricGT](#):
>
> Как администратор я проверил, могу ли я установить DiscoTOC, но его не было в списке доступных плагинов. 🙁

Это [компонент темы](https://meta.discourse.org/t/beginners-guide-to-using-discourse-themes/91966)

---

<div class="post-metadata">

### Author: ![JQ331](https://avatars.discourse-cdn.com/v4/letter/j/41988e/32.png) [@JQ331](https://meta.discourse.org/u/JQ331)
#### Post date: [15.Май.2020 19:51:34 UTC](https://meta.discourse.org/t/is-anyone-working-on-a-discourse-wiki/20349/40 "2020-05-15T19:51:34Z")

</div>

> [@Falco](#):
>
> Это ли это? [https://meta.discourse.org/knowledge-explorer](https://meta.discourse.org/knowledge-explorer)

Что вы имели в виду в этом сообщении?

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [15.Май.2020 19:56:53 UTC](https://meta.discourse.org/t/is-anyone-working-on-a-discourse-wiki/20349/41 "2020-05-15T19:56:53Z")

</div>

> [@EricGT](#):
>
> Чтобы быть более конкретным, я думаю, что мы находимся на одном из планов с открытым исходным кодом, и, вероятно, именно на этом: [Бесплатный хостинг для проектов с открытым исходным кодом v2](https://blog.discourse.org/2018/11/free-hosting-for-open-source-v2/)
> 
> Как администратор, я проверил, могу ли я установить DiscoTOC, но его не было в списке доступных плагинов.

DiscoTOC — это компонент темы, а не плагин. Он устанавливается в соответствии с инструкциями в статье [Как установить тему или компонент темы?](https://meta.discourse.org/t/how-do-i-install-a-theme-or-theme-component/63682), и он определенно доступен для вас, попробуйте.

> [@EricGT](#):
>
> Спасибо, но, к сожалению, мы программисты на [Prolog](https://en.wikipedia.org/wiki/Prolog).

А, я понял.

Думаю, ваша лучшая надежда — попытаться запустить работающий экземпляр repl.it для Prolog, даже если он работает на основе [SWI-Prolog, скомпилированного в WASM](http://demos.rlaanemets.com/swi-prolog-wasm/example/). Попробуйте связаться с основателем repl.it @Amjad_Masad.

[Предыдущая страница](https://meta.discourse.org/t/is-anyone-working-on-a-discourse-wiki/20349.md?page=1)

[Следующая страница](https://meta.discourse.org/t/is-anyone-working-on-a-discourse-wiki/20349.md?page=3)
