diff --git a/README.md b/README.md index c7b38e3..3fd317e 100644 --- a/README.md +++ b/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) -A screenshot of mycorrhiza.wiki's home page in the Safari browser +A screenshot of mycorrhiza.wiki's home page in the Safari browser ## 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 diff --git a/go.mod b/go.mod index 6f52df7..6d1974e 100644 --- a/go.mod +++ b/go.mod @@ -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. diff --git a/go.sum b/go.sum index bd53870..8896013 100644 --- a/go.sum +++ b/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-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= diff --git a/help/en/config_file.myco b/help/en/config_file.myco index a469691..32a44a2 100644 --- a/help/en/config_file.myco +++ b/help/en/config_file.myco @@ -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. \ No newline at end of file +* `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.