1
0
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:
Timur Ismagilov 2022-04-09 15:13:22 +03:00 committed by GitHub
commit b90b36a5fa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 35 additions and 32 deletions

View File

@ -2,28 +2,27 @@
**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
* **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.
* **Nesting of hyphae** is supported. A tree of related hyphae is shown on every page.
* **History of changes** for textual parts of hyphae. Every change is safely stored in [Git]. Web feeds for recent changes included!
* **Categories** let you organize hyphae without any hierarchy restrictions, with all the benefits of a category system.
* **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.
* **Support for [authorization].**
* **[Open Graph] support.**
* **Optional [Telegram] authentication.**
* **Support for [authorization].** Both plain username-password pairs and [Telegram]'s login widget are supported.
* **[Open Graph] support.** The most relevant info about a hypha is made available through OG meta tags for consumption by other software.
[hypha]: https://mycorrhiza.wiki/hypha/feature/hypha
[transclusion]: https://mycorrhiza.wiki/hypha/feature/transclusion
[authorization]: https://mycorrhiza.wiki/hypha/feature/authorization
[transclude]: https://mycorrhiza.wiki/hypha/feature/transclusion
[Mycomarkup]: https://mycorrhiza.wiki/help/en/mycomarkup
[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
[Open Graph]: https://mycorrhiza.wiki/hypha/opengraph
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
* [GitHub](https://github.com/bouncepaw/mycorrhiza)
* [SourceHut](https://sr.ht/~bouncepaw/mycorrhiza)
* [GitHub](https://github.com/bouncepaw/mycorrhiza)
* [#mycorrhiza on irc.libera.chat](irc://irc.libera.chat/#mycorrhiza)
* [@mycorrhizadev (Russian) in Telegram](https://t.me/mycorrhizadev)
If you want to contribute with code, open a pull request on GitHub or send a
patch to the [mailing list]. If you want to report an issue, open an issue on
GitHub or contact us directly.
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).
If you want to report an issue, open an issue on GitHub or contact us directly.
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
View File

@ -24,6 +24,7 @@ require (
// but do not commit the change to the path:
// replace github.com/bouncepaw/mycomarkup/v4 v4.0.0 => "/Users/bouncepaw/GolandProjects/mycomarkup"
// Use this utility every time Mycomarkup gets a major update:
// https://github.com/marwan-at-work/mod
// Or maybe just R every time, the utility is kinda weird.

1
go.sum
View File

@ -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-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-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/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=

View File

@ -7,10 +7,10 @@ The file is generated automatically when you create a new wiki:
```
# Generate a new wiki
$ mycorrhiza bestWiki
$ mycorrhiza best-wiki
...
# See what's inside
$ ls bestWiki
$ ls best-wiki
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
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
WikiName = My wiki
NaviTitleIcon = 🐑
@ -30,34 +30,44 @@ UserHypha = u
HeaderLinksHypha = header-links
[Network]
HTTPPort = 8080
ListenAddr = 0.0.0.0:8080
URL = https://wiki
GeminiCertificatePath = /home/wiki/gemcerts
[Authorization]
UseRegistration = true
UseAuth = true
AllowRegistration = true
```
== Fields
=== Root section
* `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).
* `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]
* `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`.
* `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]
* `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.
=== [Authorization]
* `UseRegistration`: //boolean//. Whether you want unregistered visitors to be able to register themselves using the web form. **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`.
* `UseAuth`: //boolean//. Whether to enable authorization system. **Default:** `false`.
* `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]
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.
* `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.