mirror of
https://github.com/osmarks/mycorrhiza.git
synced 2024-10-30 03:36:16 +00:00
Merge branch 'master' into pkg-revolution
This commit is contained in:
commit
b90b36a5fa
33
README.md
33
README.md
@ -2,28 +2,27 @@
|
|||||||
|
|
||||||
**Mycorrhiza Wiki** is a lightweight file-system wiki engine that uses Git for keeping history. [Main wiki](https://mycorrhiza.wiki)
|
**Mycorrhiza Wiki** is a lightweight file-system wiki engine that uses Git for keeping history. [Main wiki](https://mycorrhiza.wiki)
|
||||||
|
|
||||||
<img src="https://mycorrhiza.wiki/binary/release/1.8/screenshot" alt="A screenshot of mycorrhiza.wiki's home page in the Safari browser" width="600">
|
<img src="https://mycorrhiza.wiki/binary/release/1.9/screenshot" alt="A screenshot of mycorrhiza.wiki's home page in the Safari browser" width="700">
|
||||||
|
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
* **No database required.** Everything is stored in plain files. It makes installation super easy, and you can modify the content directly by yourself.
|
* **No database required.** Everything is stored in plain files. It makes installation super easy, and you can modify the content directly by yourself.
|
||||||
* **Everything is hyphae.** A [hypha] is a unit of content such as a picture, video or a text article. Hyphae can [transclude][transclusion] and link each other resulting in a tight network of hypertext pages.
|
* **Everything is hyphae.** A hypha is a unit of content such as a picture, video or a text article. Hyphae can [transclude] and link each other, forming a tight network of hypertext pages.
|
||||||
* **Hyphae are authored in [Mycomarkup],** a markup language that's designed to be unambigious yet easy to use.
|
* **Hyphae are authored in [Mycomarkup],** a markup language that's designed to be unambigious yet easy to use.
|
||||||
* **Nesting of hyphae** is supported. A tree of related hyphae is shown on every page.
|
* **Categories** let you organize hyphae without any hierarchy restrictions, with all the benefits of a category system.
|
||||||
* **History of changes** for textual parts of hyphae. Every change is safely stored in [Git]. Web feeds for recent changes included!
|
* **Nesting of hyphae** is also supported if you like hierarchies.
|
||||||
|
* **History of changes** for textual parts of hyphae. Every change is safely stored in [Git]. Web feeds for recent changes included.
|
||||||
* **Keyboard-driven navigation.** Press `?` to see the list of shortcuts.
|
* **Keyboard-driven navigation.** Press `?` to see the list of shortcuts.
|
||||||
* **Support for [authorization].**
|
* **Support for [authorization].** Both plain username-password pairs and [Telegram]'s login widget are supported.
|
||||||
* **[Open Graph] support.**
|
* **[Open Graph] support.** The most relevant info about a hypha is made available through OG meta tags for consumption by other software.
|
||||||
* **Optional [Telegram] authentication.**
|
|
||||||
|
|
||||||
[hypha]: https://mycorrhiza.wiki/hypha/feature/hypha
|
[transclude]: https://mycorrhiza.wiki/hypha/feature/transclusion
|
||||||
[transclusion]: https://mycorrhiza.wiki/hypha/feature/transclusion
|
|
||||||
[authorization]: https://mycorrhiza.wiki/hypha/feature/authorization
|
|
||||||
[Mycomarkup]: https://mycorrhiza.wiki/help/en/mycomarkup
|
[Mycomarkup]: https://mycorrhiza.wiki/help/en/mycomarkup
|
||||||
[Git]: https://mycorrhiza.wiki/hypha/integration/git
|
[Git]: https://mycorrhiza.wiki/hypha/integration/git
|
||||||
[Open Graph]: https://mycorrhiza.wiki/hypha/standard/opengraph
|
[authorization]: https://mycorrhiza.wiki/hypha/feature/authorization
|
||||||
[Telegram]: https://mycorrhiza.wiki/help/en/telegram
|
[Telegram]: https://mycorrhiza.wiki/help/en/telegram
|
||||||
|
[Open Graph]: https://mycorrhiza.wiki/hypha/opengraph
|
||||||
|
|
||||||
Compare Mycorrhiza Wiki with other engines on [WikiMatrix](https://www.wikimatrix.org/show/mycorrhiza).
|
Compare Mycorrhiza Wiki with other engines on [WikiMatrix](https://www.wikimatrix.org/show/mycorrhiza).
|
||||||
|
|
||||||
@ -35,18 +34,12 @@ See [the deployment guide](https://mycorrhiza.wiki/hypha/guide/deployment) on th
|
|||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
* [GitHub](https://github.com/bouncepaw/mycorrhiza)
|
|
||||||
* [SourceHut](https://sr.ht/~bouncepaw/mycorrhiza)
|
* [SourceHut](https://sr.ht/~bouncepaw/mycorrhiza)
|
||||||
|
* [GitHub](https://github.com/bouncepaw/mycorrhiza)
|
||||||
* [#mycorrhiza on irc.libera.chat](irc://irc.libera.chat/#mycorrhiza)
|
* [#mycorrhiza on irc.libera.chat](irc://irc.libera.chat/#mycorrhiza)
|
||||||
* [@mycorrhizadev (Russian) in Telegram](https://t.me/mycorrhizadev)
|
* [@mycorrhizadev (Russian) in Telegram](https://t.me/mycorrhizadev)
|
||||||
|
|
||||||
If you want to contribute with code, open a pull request on GitHub or send a
|
If you want to contribute with code, open a pull request on GitHub or send a patch to the [mailing list](https://lists.sr.ht/~bouncepaw/mycorrhiza-devel).
|
||||||
patch to the [mailing list]. If you want to report an issue, open an issue on
|
If you want to report an issue, open an issue on GitHub or contact us directly.
|
||||||
GitHub or contact us directly.
|
|
||||||
|
|
||||||
Consider supporting the development on [Boosty](https://boosty.to/bouncepaw).
|
Consider supporting the development on [Boosty](https://boosty.to/bouncepaw).
|
||||||
|
|
||||||
You can view the list of planned features on the [roadmap page].
|
|
||||||
|
|
||||||
[mailing list]: https://lists.sr.ht/~bouncepaw/mycorrhiza-devel
|
|
||||||
[roadmap page]: https://mycorrhiza.wiki/hypha/release/roadmap
|
|
||||||
|
1
go.mod
1
go.mod
@ -24,6 +24,7 @@ require (
|
|||||||
// but do not commit the change to the path:
|
// but do not commit the change to the path:
|
||||||
// replace github.com/bouncepaw/mycomarkup/v4 v4.0.0 => "/Users/bouncepaw/GolandProjects/mycomarkup"
|
// replace github.com/bouncepaw/mycomarkup/v4 v4.0.0 => "/Users/bouncepaw/GolandProjects/mycomarkup"
|
||||||
|
|
||||||
|
|
||||||
// Use this utility every time Mycomarkup gets a major update:
|
// Use this utility every time Mycomarkup gets a major update:
|
||||||
// https://github.com/marwan-at-work/mod
|
// https://github.com/marwan-at-work/mod
|
||||||
// Or maybe just ⌘⇧R every time, the utility is kinda weird.
|
// Or maybe just ⌘⇧R every time, the utility is kinda weird.
|
||||||
|
1
go.sum
1
go.sum
@ -39,7 +39,6 @@ golang.org/x/net v0.0.0-20210510120150-4163338589ed/go.mod h1:9nx3DQGgdP8bBQD5qx
|
|||||||
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
|
||||||
golang.org/x/sys v0.0.0-20211109184856-51b60fd695b3 h1:T6tyxxvHMj2L1R2kZg0uNMpS8ZhB9lRa9XRGTCSA65w=
|
golang.org/x/sys v0.0.0-20211109184856-51b60fd695b3 h1:T6tyxxvHMj2L1R2kZg0uNMpS8ZhB9lRa9XRGTCSA65w=
|
||||||
golang.org/x/sys v0.0.0-20211109184856-51b60fd695b3/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20211109184856-51b60fd695b3/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||||
|
@ -7,10 +7,10 @@ The file is generated automatically when you create a new wiki:
|
|||||||
|
|
||||||
```
|
```
|
||||||
# Generate a new wiki
|
# Generate a new wiki
|
||||||
$ mycorrhiza bestWiki
|
$ mycorrhiza best-wiki
|
||||||
...
|
...
|
||||||
# See what's inside
|
# See what's inside
|
||||||
$ ls bestWiki
|
$ ls best-wiki
|
||||||
cache config.ini static wiki.git
|
cache config.ini static wiki.git
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -19,7 +19,7 @@ The file is written in the [[https://en.wikipedia.org/wiki/INI_file | .ini forma
|
|||||||
== Example configuration
|
== Example configuration
|
||||||
The auto-generated file is the best example (it has comments too).
|
The auto-generated file is the best example (it has comments too).
|
||||||
|
|
||||||
Here's another example:
|
Here's an example of a configuration file adapted from the default:
|
||||||
```ini
|
```ini
|
||||||
WikiName = My wiki
|
WikiName = My wiki
|
||||||
NaviTitleIcon = 🐑
|
NaviTitleIcon = 🐑
|
||||||
@ -30,34 +30,44 @@ UserHypha = u
|
|||||||
HeaderLinksHypha = header-links
|
HeaderLinksHypha = header-links
|
||||||
|
|
||||||
[Network]
|
[Network]
|
||||||
HTTPPort = 8080
|
ListenAddr = 0.0.0.0:8080
|
||||||
URL = https://wiki
|
URL = https://wiki
|
||||||
GeminiCertificatePath = /home/wiki/gemcerts
|
|
||||||
|
|
||||||
[Authorization]
|
[Authorization]
|
||||||
UseRegistration = true
|
UseAuth = true
|
||||||
|
AllowRegistration = true
|
||||||
```
|
```
|
||||||
|
|
||||||
== Fields
|
== Fields
|
||||||
=== Root section
|
=== Root section
|
||||||
* `WikiName`: //string//. The name your wiki has. It is shown in the header by default and in other places. **Default:** `Mycorrhiza Wiki`.
|
* `WikiName`: //string//. The name your wiki has. It is shown in the header by default and in other places. **Default:** `Mycorrhiza Wiki`.
|
||||||
* `NaviTitleIcon`: //string//. The icon shown before the colon in the navigational titles above each hypha. You may want to use an emoji or HTML here. **Default:** `🍄` (mushroom emoji).
|
* `NaviTitleIcon`: //string//. The icon shown before the colon in the navigational titles above each hypha. You may want to use an emoji or HTML here. **Default:** `🍄` (mushroom emoji).
|
||||||
|
* `UseSiblingHyphaeSidebar`: //boolean//. Whether to show the [[/help/en/sibling_hyphae_section | sibling hyphae sidebar]]. You are discouraged from using the sibling hyphae sidebar on new wikis. Enable it on old wikis that depend on it heavily. **Default:** `false`.
|
||||||
|
|
||||||
=== [Hyphae]
|
=== [Hyphae]
|
||||||
* `HomeHypha`: //string//. The name your home hypha has. **Default:** `home`.
|
* `HomeHypha`: //string//. The name your home hypha has. **Default:** `home`.
|
||||||
* `UserHypha`: //string//. The name of the hypha that is parent of all user hyphae. **Default:** `u`.
|
* `UserHypha`: //string//. The name of the hypha that is parent of all user hyphae. **Default:** `u`.
|
||||||
* `HeaderLinkHypha`: //string//. The name of the hypha where you can configure the header. There is no default.
|
* `HeaderLinkHypha`: //string//. The name of the hypha where you can configure the header. See [[/help/en/top_bar]]. There is no default.
|
||||||
|
|
||||||
=== [Network]
|
=== [Network]
|
||||||
* `HTTPPort`: //number//. What port is used for serving the web interface of Mycorrhiza. **Default:** `1737`.
|
* `ListenAddr`: //number//. What port is used for serving the web interface of Mycorrhiza. **Default:** `1737`.
|
||||||
* `URL`: //url//. What URL is used for Opengraph and Web feed in the web interface. There is no default and you really should set it to something.
|
* `URL`: //url//. What URL is used for Opengraph and Web feed in the web interface. There is no default and you really should set it to something.
|
||||||
|
|
||||||
=== [Authorization]
|
=== [Authorization]
|
||||||
* `UseRegistration`: //boolean//. Whether you want unregistered visitors to be able to register themselves using the web form. **Default:** `false`.
|
* `UseAuth`: //boolean//. Whether to enable authorization system. **Default:** `false`.
|
||||||
* `LimitRegistration`: //number//. There cannot be more registered users than this number. If the number is zero, there is no limit. Makes sense only when `UseRegistration` is `true`. **Default:** `0`.
|
* `AllowRegistration`: //boolean//. Whether you want unregistered visitors to be able to register themselves using the web form. **Default:** `false`.
|
||||||
|
* `RegistrationLimit`: //number//. There cannot be more registered users than this number. If the number is zero, there is no limit. Makes sense only when `UseRegistration` is `true`. **Default:** `0`.
|
||||||
|
* `Locked`: //boolean//. Whether the users have to authorize first to access the wiki. **Default:** `false`.
|
||||||
|
* `UseWhiteList`: //boolean//. Whether to use a whitelist to allow specific users in. **Default:** `false`.
|
||||||
|
* `WhiteList`: //list of strings//. Usernames of people to allow in, if `UseWhiteList` is turned on. **Default:** `[]`.
|
||||||
|
|
||||||
=== [CustomScripts]
|
=== [CustomScripts]
|
||||||
You can specify URLs of JavaScript files you want to load.
|
You can specify URLs of JavaScript files you want to load.
|
||||||
* `CommonScripts`: //list of url//. Comma-separated list of unquoted URLs to JS files to load on //all// pages.
|
* `CommonScripts`: //list of url//. Comma-separated list of unquoted URLs to JS files to load on //all// pages.
|
||||||
* `ViewScripts`: //list of urls//. Comma-separated list of unquoted URLs to JS files to load on //view// pages: `/hypha`, `/rev`.
|
* `ViewScripts`: //list of urls//. Comma-separated list of unquoted URLs to JS files to load on //view// pages: `/hypha`, `/rev`.
|
||||||
* `EditScripts`: //list of urls//. Comma-separated list of unquoted URLs to JS files to load on the `/edit` page.
|
* `EditScripts`: //list of urls//. Comma-separated list of unquoted URLs to JS files to load on the `/edit` page.
|
||||||
|
|
||||||
|
=== [Telegram]
|
||||||
|
You can set up Telegram-based authorization. You have to define both parameters.
|
||||||
|
* `TelegramBotToken`: //string// Token of your bot. There is no default.
|
||||||
|
* `TelegramBotName`: //string// Username of your bot, sans @. There is no default.
|
||||||
|
Loading…
Reference in New Issue
Block a user