From 2b2683513a278abbb56e7f1816998369cea2b15e Mon Sep 17 00:00:00 2001 From: Joseph Price Date: Wed, 9 Jun 2021 22:03:59 +0100 Subject: [PATCH] GitHub action on PR: markdownlint (#76) Based on Swant's suggestion at https://github.com/Libera-Chat/libera-chat.github.io/issues/69#issue-907307081 Co-authored-by: Joseph Price Co-authored-by: Svante Bengtson --- .github/workflows/lint.yml | 30 +++++++ .gitignore | 1 + .markdownlint.yml | 67 +++++++++++++++ .markdownlintignore | 1 + _includes/modetable.md | 1 + chanreg.md | 5 +- content/_guides/certfp.md | 54 ++++++++---- content/_guides/channelmodes.md | 4 + content/_guides/connect.md | 12 ++- content/_guides/extbans.md | 1 - content/_guides/findingchannels.md | 70 ++++++++-------- content/_guides/registration.md | 24 ++++-- content/_guides/sasl.md | 30 +++---- content/_guides/sasl/epic5.md | 2 +- content/_guides/sasl/irccloud.md | 1 + content/_guides/sasl/irssi.md | 42 ++++++---- content/_guides/sasl/kvirc.md | 4 +- content/_guides/sasl/revolution.md | 18 ++-- content/_guides/sasl/weechat.md | 20 +++-- content/_guides/sendpass.md | 10 ++- content/_guides/usermodes.md | 1 - .../2021-05-25-one-week-of-libera-chat.md | 1 + guidelines.md | 82 +++++++++---------- guides.md | 3 + package.json | 21 +++++ privacy.md | 4 +- 26 files changed, 345 insertions(+), 164 deletions(-) create mode 100644 .github/workflows/lint.yml create mode 100644 .markdownlint.yml create mode 100644 .markdownlintignore create mode 100644 package.json diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..81260a4 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,30 @@ +name: Lint + +on: [push, pull_request] + +jobs: + markdownlint: + name: Check markdown for style issues + runs-on: ubuntu-latest + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + - uses: actions/checkout@v2 + - name: Cache + uses: actions/cache@v2.1.4 + with: + path: ~/.npm + key: ${{ runner.os }}-node-${{ hashFiles('**/package.json') }} + restore-keys: | + ${{ runner.os }}-node- + - uses: actions/setup-node@v2 + with: + node-version: 12 + - run: npm i --prefer-offline + + - uses: xt0rted/markdownlint-problem-matcher@v1 + - run: npm run lint:md + - uses: xt0rted/markdownlint-problem-matcher@v1 + if: success() || failure() + with: + action: remove diff --git a/.gitignore b/.gitignore index f40fbd8..44308d2 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ _site .jekyll-cache .jekyll-metadata vendor +node_modules diff --git a/.markdownlint.yml b/.markdownlint.yml new file mode 100644 index 0000000..3f3c238 --- /dev/null +++ b/.markdownlint.yml @@ -0,0 +1,67 @@ +default: true + +# MD003/heading-style/header-style - Heading style +MD003: + # Heading style + style: atx + +# MD004/ul-style - Unordered list style +MD004: + # List style + style: dash + +# MD009/no-trailing-spaces - Trailing spaces +MD009: + # Spaces for line break + br_spaces: 0 + # Allow spaces for empty lines in list items + list_item_empty_lines: false + # Include unnecessary breaks + strict: false + +# MD013/line-length - Line length +MD013: + line_length: 78 + code_blocks: false + +# MD024/no-duplicate-heading/no-duplicate-header - Multiple headings with the same content +MD024: + # Only check sibling headings + siblings_only: false + +# MD033/no-inline-html - Inline HTML +MD033: + # Allowed elements + allowed_elements: + - sup + - sub + - br + - kbd + +# MD035/hr-style - Horizontal rule style +MD035: + # Horizontal rule style + style: "---" + +# MD042/no-empty-links - No empty links +# This is checked by check-md instead +MD042: false + +# MD044/proper-names - Proper names should have the correct capitalization +MD044: + # List of proper names + names: + - Libera.Chat + - Libera Chat + # Include code blocks + code_blocks: false + +# MD046/code-block-style - Code block style +MD046: + # Block style + style: fenced + +# MD048/code-fence-style - Code fence style +MD048: + # Code fence syle + style: backtick \ No newline at end of file diff --git a/.markdownlintignore b/.markdownlintignore new file mode 100644 index 0000000..b512c09 --- /dev/null +++ b/.markdownlintignore @@ -0,0 +1 @@ +node_modules \ No newline at end of file diff --git a/_includes/modetable.md b/_includes/modetable.md index 39afc00..d2e9cf3 100644 --- a/_includes/modetable.md +++ b/_includes/modetable.md @@ -1,3 +1,4 @@ + {::nomarkdown}
{:/} diff --git a/chanreg.md b/chanreg.md index c538345..d389800 100644 --- a/chanreg.md +++ b/chanreg.md @@ -110,7 +110,7 @@ before registering, so we can already check whether your project is likely to be considered eligible to a registration. Once done, we will need the following information from you: -``` +```markdown # About your project Your project name(s): Your project description: @@ -173,7 +173,7 @@ before registering, so we can already check whether your community is likely to be considered eligible to a registration. Once done, we will need the following information from you: -``` +```markdown # About your community Your community name(s): Your community description: @@ -214,7 +214,6 @@ Registered communities can profit from the following benefits: These replace the hostname part with `@about/yourcommunity/username`, and can be requested on `#libera-communities`. - ## The Projects & Community Team The Projects & Community Team comprises, among others, e, Fuchs, kline, glguy diff --git a/content/_guides/certfp.md b/content/_guides/certfp.md index a452a9d..76031ce 100644 --- a/content/_guides/certfp.md +++ b/content/_guides/certfp.md @@ -17,7 +17,9 @@ you are using Windows and do not have a copy, you might consider using Cygwin. You can generate a certificate with the following command: - openssl req -x509 -new -newkey rsa:4096 -sha256 -days 1096 -nodes -out libera.pem -keyout libera.pem +```sh +openssl req -x509 -new -newkey rsa:4096 -sha256 -days 1096 -nodes -out libera.pem -keyout libera.pem +``` You will be prompted for various pieces of information about the certificate. The contents do not matter for our purposes, but `openssl` needs at least one @@ -31,11 +33,15 @@ password does, so take appropriate care in securing it. The expiration date can be checked with the following command: - openssl x509 -in libera.pem -noout -enddate +```sh +openssl x509 -in libera.pem -noout -enddate +``` The fingerprint can be checked with the following command: - openssl x509 -in libera.pem -outform der | sha512sum -b | cut -d' ' -f1 +```sh +openssl x509 -in libera.pem -outform der | sha512sum -b | cut -d' ' -f1 +``` ## Connecting to Libera.Chat with your certificate @@ -48,31 +54,39 @@ elsewhere on the web. Move the certificates you created above to ~/.irssi/certs - mkdir ~/.irssi/certs - mv libera.pem ~/.irssi/certs +```sh +mkdir ~/.irssi/certs +mv libera.pem ~/.irssi/certs +``` Now configure your `/server` entry for Libera.Chat to use this certificate. You may need to adapt this example for your existing configuration (the network and hostname should match what you already use). - /server add -auto -ssl -ssl_cert ~/.irssi/certs/libera.pem -network libera irc.libera.chat 6697 +```irc +/server add -auto -ssl -ssl_cert ~/.irssi/certs/libera.pem -network libera irc.libera.chat 6697 +``` ### weechat Move the certificates you created above to ~/.weechat/certs - mkdir ~/.weechat/certs - mv libera.pem ~/.weechat/certs +```sh +mkdir ~/.weechat/certs +mv libera.pem ~/.weechat/certs +``` Now disconnect and remove the current Libera.Chat server(s). Re-add it with the SSL flag, using your newly generated certificate. Note that these commands are just examples, you have to adapt them to your current servers. - /set irc.server.libera.addresses irc.libera.chat/6697 - /set irc.server.libera.ssl on - /set irc.server.libera.ssl_verify on - /set irc.server.libera.ssl_cert %h/certs/libera.pem - /set irc.server.libera.sasl_mechanism external +```irc +/set irc.server.libera.addresses irc.libera.chat/6697 +/set irc.server.libera.ssl on +/set irc.server.libera.ssl_verify on +/set irc.server.libera.ssl_cert %h/certs/libera.pem +/set irc.server.libera.sasl_mechanism external +``` and then reconnect to Libera.Chat. @@ -129,10 +143,12 @@ right of the screen to save. You can then check whether you have a fingerprint by using `whois` on yourself: - /whois YourOwnNick - ... - YourOwnNick has client certificate fingerprint 959c0bdfa9877d3466c5848f55264f72f132c657b002b79fda65dbe36c67f4bb3d2a3e2e9925cb5896a53c76169c5bb71b7853bd90192068dc77f4b20159a1d8 - ... +```irc +/whois YourOwnNick +... +YourOwnNick has client certificate fingerprint 959c0bdfa9877d3466c5848f55264f72f132c657b002b79fda65dbe36c67f4bb3d2a3e2e9925cb5896a53c76169c5bb71b7853bd90192068dc77f4b20159a1d8 +... +``` To allow NickServ to recognise you based on your certificate, you need to add the **sha512** fingerprint to your account (you will need to log in by other @@ -140,7 +156,9 @@ means in order to do so). You can then authorise your current certificate fingerprint: - /msg NickServ CERT ADD +```irc +/msg NickServ CERT ADD +``` In the future, any connections you make to Libera.Chat with your certificate will be logged into your account automatically. Optionally, or if you wish to diff --git a/content/_guides/channelmodes.md b/content/_guides/channelmodes.md index 2be776b..64fcb39 100644 --- a/content/_guides/channelmodes.md +++ b/content/_guides/channelmodes.md @@ -15,7 +15,9 @@ that corresponds to the mode. To unset a mode, use `/mode #channel -(mode)` ## Available channel modes + {% assign channel_modes = site.data.channelmodes | where_exp:"item","item.restricted != true" %} + {%- include modetable.md modes=channel_modes -%} @@ -23,6 +25,8 @@ that corresponds to the mode. To unset a mode, use `/mode #channel -(mode)` The following channel modes can only be added by Libera.Chat staff. + {% assign restricted_modes = site.data.channelmodes | where: 'restricted', true %} + {%- include modetable.md modes=restricted_modes -%} diff --git a/content/_guides/connect.md b/content/_guides/connect.md index 89b7dc0..51d84e8 100644 --- a/content/_guides/connect.md +++ b/content/_guides/connect.md @@ -58,10 +58,12 @@ appear in WHOIS (a 276 numeric). Libera.Chat is also reachable via [Tor](https://www.torproject.org/), bound to some restrictions. You can't -directly connect to irc.libera.chat via Tor; use the following hidden service +directly connect to `irc.libera.chat` via Tor; use the following hidden service as the server address instead: - libera75jm6of4wxpxt4aynol3xjmbtxgfyjpu34ss4d7r7q2v5zrpyd.onion +```hostname +libera75jm6of4wxpxt4aynol3xjmbtxgfyjpu34ss4d7r7q2v5zrpyd.onion +``` The hidden service requires SASL authentication. In addition, due to abuse we have seen across other networks in the past, we have unfortunately had to @@ -93,8 +95,10 @@ configuration file and configure your client to connect to `palladium.libera.chat` via Tor. The TLS server certificate used by the hidden service will validate using this hostname. - # torrc snippet: - MapAddress palladium.libera.chat libera75jm6of4wxpxt4aynol3xjmbtxgfyjpu34ss4d7r7q2v5zrpyd.onion +```config +# torrc snippet: +MapAddress palladium.libera.chat libera75jm6of4wxpxt4aynol3xjmbtxgfyjpu34ss4d7r7q2v5zrpyd.onion +``` Older clients that don't support SOCKS4a or later will need to use `MapAddress` with an IP address, and the certificate will not validate successfully. diff --git a/content/_guides/extbans.md b/content/_guides/extbans.md index 20e8637..ae22c88 100644 --- a/content/_guides/extbans.md +++ b/content/_guides/extbans.md @@ -10,7 +10,6 @@ accepted. These entries have the general format `$X` or `$X:data`. Optionally, they can be negated with a tilde (`~`) before the character: for example, `$~a` matches every user that is *not* identified to services. - ## Available extban types {%- include modetable.md modes=site.data.extbans -%} diff --git a/content/_guides/findingchannels.md b/content/_guides/findingchannels.md index ea3af7c..86e90e0 100644 --- a/content/_guides/findingchannels.md +++ b/content/_guides/findingchannels.md @@ -23,46 +23,48 @@ channels in the Libera.Chat namespace with at least 10 users. For full details on how to use alis, `/msg alis HELP LIST` will send you back the following help text: - ***** alis Help ***** - Help for LIST: +```irc +***** alis Help ***** +Help for LIST: - LIST gives a list of channels matching the - pattern, modified by the other options. +LIST gives a list of channels matching the +pattern, modified by the other options. - Syntax: LIST [options] +Syntax: LIST [options] - Options are: - -min : show only channels with at least users - -max : show only channels with at most users - -skip : skip first matches - -show [m][t]: show modes/topicsetter - -mode <+|-|=>: modes set/unset/equal - -topic : topic matches pattern - -showsecret: show secret channels (requires chan:auspex) +Options are: + -min : show only channels with at least users + -max : show only channels with at most users + -skip : skip first matches + -show [m][t]: show modes/topicsetter + -mode <+|-|=>: modes set/unset/equal + -topic : topic matches pattern + -showsecret: show secret channels (requires chan:auspex) - The pattern can contain * and ? wildcards. The pattern has to - match the full channel name or a full topic, depending on where it - is used; the wildcards are important. The pattern is also - automatically surrounded by * wildcards if - a channel name pattern does not start with a wildcard or a #, or - a topic pattern contains no * wildcards. +The pattern can contain * and ? wildcards. The pattern has to +match the full channel name or a full topic, depending on where it +is used; the wildcards are important. The pattern is also +automatically surrounded by * wildcards if +a channel name pattern does not start with a wildcard or a #, or +a topic pattern contains no * wildcards. - For example, for channel names, from most to least specific: - ?bar - any character followed by "bar" with no other characters - #bar* - anything starting with "#bar" - ##*bar* - anything starting with ## and containing "bar" - *cows*moo* - anything containing "cows", 0 or more characters, and "moo" - *bar* - anything containing "bar" (equivalent to "bar") +For example, for channel names, from most to least specific: +?bar - any character followed by "bar" with no other characters +#bar* - anything starting with "#bar" +##*bar* - anything starting with ## and containing "bar" +*cows*moo* - anything containing "cows", 0 or more characters, and "moo" +*bar* - anything containing "bar" (equivalent to "bar") - Examples: - /msg alis LIST searchterm - /msg alis LIST * -topic multiple*ordered*search*terms - /msg alis LIST * -min 50 - /msg alis LIST #foo* - /msg alis LIST #foo* -mode =n - /msg alis LIST *freetopic* -mode -t -show mt - /msg alis LIST ##nocolors* -mode +c -show t - ***** End of Help ***** +Examples: + /msg alis LIST searchterm + /msg alis LIST * -topic multiple*ordered*search*terms + /msg alis LIST * -min 50 + /msg alis LIST #foo* + /msg alis LIST #foo* -mode =n + /msg alis LIST *freetopic* -mode -t -show mt + /msg alis LIST ##nocolors* -mode +c -show t +***** End of Help ***** +``` An alternative method to search is to do so via the web, using [netsplit.de](https://netsplit.de/channels/?net=libera.chat). diff --git a/content/_guides/registration.md b/content/_guides/registration.md index d8153d4..1b2fb20 100644 --- a/content/_guides/registration.md +++ b/content/_guides/registration.md @@ -34,11 +34,15 @@ may have. 2. **Switch** to your desired nickname. This will also be your account name. - /nick YourNick + ```irc + /nick YourNick + ``` 3. **Register** your IRC nick: - /msg NickServ REGISTER YourPassword youremail@example.com + ```irc + /msg NickServ REGISTER YourPassword youremail@example.com + ``` Replace "YourPassword" with a secure, unguessable, and unique password that you keep secret. Reusing passwords between services can result in @@ -61,15 +65,21 @@ may have. 4. It's useful, but not required, to have an alternate nick grouped to your account. For example, if your primary nick is "YourNick": - /nick YourNick2 + ```irc + /nick YourNick2 + ``` then identify to your primary account: - /msg NickServ IDENTIFY YourNick YourPassword + ```irc + /msg NickServ IDENTIFY YourNick YourPassword + ``` and finally, group the new nick to your account - /msg NickServ GROUP + ```irc + /msg NickServ GROUP + ``` We prefer you to use just one account, and group nicks to it as described above, rather than registering for multiple accounts. Grouping nicks in @@ -88,7 +98,9 @@ your login details, in the form `:`, as a server password and they will be forwarded to NickServ when you finish connecting. For example: - /connect irc.libera.chat 6667 YourNick:YourPassword +```irc +/connect irc.libera.chat 6667 YourNick:YourPassword +``` ## Unable to Speak diff --git a/content/_guides/sasl.md b/content/_guides/sasl.md index 9252a8f..3f96249 100644 --- a/content/_guides/sasl.md +++ b/content/_guides/sasl.md @@ -19,21 +19,21 @@ not support `DH-BLOWFISH` - [AndroIRC](http://wiki.androirc.com/nickserv_sasl) or [archived here](https://web.archive.org/web/20210319221818/http://wiki.androirc.com/nickserv_sasl) - [Chatzilla](/guides/chatzilla) -* [EPIC5](/guides/epic5) -* [glirc](https://github.com/glguy/irc-core/wiki/Automatically-authenticating-to-NickServ) -* [HexChat](/guides/hexchat) -* [irssi](/guides/irssi) -* [Konversation](http://userbase.kde.org/Konversation/Configuring_SASL_authentication) -* [KVIrc](/guides/kvirc) -* [LimeChat](/guides/limechat) -* [mIRC](/guides/mirc) -* [Pidgin](/guides/pidgin) -* [Quassel](/guides/quassel) -* [Revolution](/guides/revolution) -* [Textual](/guides/textual) -* [WeeChat](/guides/weechat) -* [ZNC](http://wiki.znc.in/Sasl#Example) -* [IRCCloud](/guides/irccloud) +- [EPIC5](/guides/epic5) +- [glirc](https://github.com/glguy/irc-core/wiki/Automatically-authenticating-to-NickServ) +- [HexChat](/guides/hexchat) +- [irssi](/guides/irssi) +- [Konversation](http://userbase.kde.org/Konversation/Configuring_SASL_authentication) +- [KVIrc](/guides/kvirc) +- [LimeChat](/guides/limechat) +- [mIRC](/guides/mirc) +- [Pidgin](/guides/pidgin) +- [Quassel](/guides/quassel) +- [Revolution](/guides/revolution) +- [Textual](/guides/textual) +- [WeeChat](/guides/weechat) +- [ZNC](http://wiki.znc.in/Sasl#Example) +- [IRCCloud](/guides/irccloud) If you know of any additions or corrections to the lists above, or would like to contribute a script or (better) documentation, contact us on IRC. diff --git a/content/_guides/sasl/epic5.md b/content/_guides/sasl/epic5.md index 98352a2..e0e4965 100644 --- a/content/_guides/sasl/epic5.md +++ b/content/_guides/sasl/epic5.md @@ -18,7 +18,7 @@ Replace username with your primary nick. The password may be replaced with your password or omitted, in which case EPIC5 will prompt for the password when it connects. You may change `*.libera.chat` to something more specific if desired, but the `*` means SASL authentication will be attempted for any -libera.chat server. +`irc.libera.chat` server. Only `plain` is supported as the authentication mechanism. You may want to use SSL to protect your password. diff --git a/content/_guides/sasl/irccloud.md b/content/_guides/sasl/irccloud.md index 2353497..9dd0acf 100644 --- a/content/_guides/sasl/irccloud.md +++ b/content/_guides/sasl/irccloud.md @@ -20,6 +20,7 @@ OR THEN +{:start="3"} 3. Enter a nick that is grouped to your account in the Nickname field 4. Click advanced options 5. Enter your password in the `NickServ Password` field diff --git a/content/_guides/sasl/irssi.md b/content/_guides/sasl/irssi.md index de6ee62..1c79947 100644 --- a/content/_guides/sasl/irssi.md +++ b/content/_guides/sasl/irssi.md @@ -7,38 +7,46 @@ credits: web7 The setup for SASL on Irssi differs depending on the version you have (you can find out by running `irssi -v` in your nearest shell). -# Irssi 0.8.18 or later +## Irssi 0.8.18 or later Recent Irssi versions include built-in SASL support via `/network`: - /network add -sasl_username -sasl_password -sasl_mechanism PLAIN liberachat - /server add -auto -net liberachat -tls -tls_verify irc.libera.chat 6697 - /save +```irc +/network add -sasl_username -sasl_password -sasl_mechanism PLAIN liberachat +/server add -auto -net liberachat -tls -tls_verify irc.libera.chat 6697 +/save +``` -## Troubleshooting +### Troubleshooting To check that the setting was correct, run `/network` and confirm that the Libera.Chat entry looks like this: - liberachat: sasl_mechanism: plain, sasl_username: TheCoolestNick, sasl_password: (pass) +```irc +liberachat: sasl_mechanism: plain, sasl_username: TheCoolestNick, sasl_password: (pass) +``` All three items (mechanism, username, and password) must be set. -# Older versions +## Older versions These versions need a separate script in order to support SASL: `cap_sasl.pl`. You can install it from : - mkdir -p ~/.irssi/scripts/autorun - cd ~/.irssi/scripts/autorun - wget https://scripts.irssi.org/scripts/cap_sasl.pl -O ../cap_sasl.pl - ln -sf ../cap_sasl.pl . +```sh +mkdir -p ~/.irssi/scripts/autorun +cd ~/.irssi/scripts/autorun +wget https://scripts.irssi.org/scripts/cap_sasl.pl -O ../cap_sasl.pl +ln -sf ../cap_sasl.pl . +``` Now load and configure it inside Irssi: - /script load cap_sasl - /network add liberachat - /server add -auto -net liberachat -ssl -ssl_verify irc.libera.chat 6697 - /sasl set liberachat PLAIN - /sasl save - /save +```irc +/script load cap_sasl +/network add liberachat +/server add -auto -net liberachat -ssl -ssl_verify irc.libera.chat 6697 +/sasl set liberachat PLAIN +/sasl save +/save +``` diff --git a/content/_guides/sasl/kvirc.md b/content/_guides/sasl/kvirc.md index dbe5dfb..9e3afaf 100644 --- a/content/_guides/sasl/kvirc.md +++ b/content/_guides/sasl/kvirc.md @@ -5,7 +5,7 @@ credits: web7 --- If you have already added Libera.Chat as a network, open your servers window, -select the libera.chat server, and skip to step five. +select the Libera.Chat server, and skip to step five. 1. Click Settings, and the Configure Servers 2. Anywhere in the Servers window that appears, right click and select @@ -17,7 +17,7 @@ select the libera.chat server, and skip to step five. `Use SSL Protocol` checkbox 7. Select the Advanced tab, Enable the `Query extended capabilities on connect` option, as well as the `Authenticate via SASL` extension. In the - `SASL Nickname` field, enter your libera.chat account name. In the + `SASL Nickname` field, enter your Libera.Chat account name. In the `SASL Password` field, enter your NickServ password 8. Click OK, until you have returned to the Servers window, and then click the Connect Now button diff --git a/content/_guides/sasl/revolution.md b/content/_guides/sasl/revolution.md index b9f2591..51305f7 100644 --- a/content/_guides/sasl/revolution.md +++ b/content/_guides/sasl/revolution.md @@ -7,18 +7,18 @@ credits: web7 If you have already added Libera.Chat as a server, long press on it and select Edit, and skip to step 5. -1. On the `Manage servers` screen, the main screen, press `+` button on the +1. On the `Manage servers` screen, the main screen, press `+` button on the bottom-right of the screen -2. Enter a name (perhaps liberachat) -3. Enter `irc.libera.chat` as `Server address`, making sure `Port` is set to +2. Enter a name (perhaps liberachat) +3. Enter `irc.libera.chat` as `Server address`, making sure `Port` is set to `6697` and `Use SSL/TLS` is ticked -4. Make sure `Server password` is blank -5. Select `Username with password (SASL)` from the `Authentication mode` +4. Make sure `Server password` is blank +5. Select `Username with password (SASL)` from the `Authentication mode` dropdown list -6. Enter your Libera.Chat account name as `Username` -7. Enter your Libera.Chat account password as `Password` -8. Enter your desired nickname(s) as `Nicknames` -9. Press the tick symbol on the top-right of the screen and you will be +6. Enter your Libera.Chat account name as `Username` +7. Enter your Libera.Chat account password as `Password` +8. Enter your desired nickname(s) as `Nicknames` +9. Press the tick symbol on the top-right of the screen and you will be returned to the Server list 10. Tap on the Libera.Chat server to connect it, tap on it again to view the server output diff --git a/content/_guides/sasl/weechat.md b/content/_guides/sasl/weechat.md index 84e06e5..bcc054e 100644 --- a/content/_guides/sasl/weechat.md +++ b/content/_guides/sasl/weechat.md @@ -9,22 +9,28 @@ Here's a simple guide for password-based authentication, based on the If you haven't already set up your connection to Libera.Chat, use this command: - /server add liberachat irc.libera.chat/6697 -ssl +```irc +/server add liberachat irc.libera.chat/6697 -ssl +``` If you have already set up a connection to Libera.Chat, or if that command fails with a message like `irc: server "liberachat" already exists, can't add it!`, then use these commands to ensure that SSL/TLS is enabled for your connection: - /set irc.server.liberachat.addresses "irc.libera.chat/6697" - /set irc.server.liberachat.ssl on +```irc +/set irc.server.liberachat.addresses "irc.libera.chat/6697" +/set irc.server.liberachat.ssl on +``` Now, configure SASL: - /set irc.server.liberachat.sasl_mechanism PLAIN - /set irc.server.liberachat.sasl_username - /set irc.server.liberachat.sasl_password - /save +```irc +/set irc.server.liberachat.sasl_mechanism PLAIN +/set irc.server.liberachat.sasl_username +/set irc.server.liberachat.sasl_password +/save +``` For more complete instructions, including non-password-based mechanisms, see the [official WeeChat documentation](https://www.weechat.org/files/doc/stable/weechat_user.en.html#irc_sasl_authentication). diff --git a/content/_guides/sendpass.md b/content/_guides/sendpass.md index fde232d..d6bc57b 100644 --- a/content/_guides/sendpass.md +++ b/content/_guides/sendpass.md @@ -8,7 +8,9 @@ If you have forgotten the password for your NickServ account and are unable to log in to it, you can send a password reset mail to the email address on your account with: - /msg NickServ SENDPASS youraccountnamehere +```irc +/msg NickServ SENDPASS youraccountnamehere +``` You should receive an email containing a command with a password reset key, which you can use on IRC to reset your password. @@ -23,9 +25,11 @@ Password resets do not work if someone is currently logged in to the account. If you are logged in to your account already and need to change its password, you should instead use the following command: - /msg NickServ SET PASSWORD newpasswordhere +```irc +/msg NickServ SET PASSWORD newpasswordhere +``` If your account is compromised and you are unable to change or reset the password, please contact Libera.Chat staff in #libera or /stats p as soon as -possible for assistance. You can also reach us at support@libera.chat if you +possible for assistance. You can also reach us at if you would prefer to discuss over email. diff --git a/content/_guides/usermodes.md b/content/_guides/usermodes.md index 34917b1..f7e83cb 100644 --- a/content/_guides/usermodes.md +++ b/content/_guides/usermodes.md @@ -13,7 +13,6 @@ For those that can be set by users, `/mode yourname +mode` will work. Keep in mind that all user modes are per session, so you have to set them again every time you connect—most clients can automate this for you. - ## Available user modes {%- include modetable.md modes=site.data.usermodes -%} diff --git a/content/_posts/2021-05-25-one-week-of-libera-chat.md b/content/_posts/2021-05-25-one-week-of-libera-chat.md index ae08f1d..3ffc4b8 100644 --- a/content/_posts/2021-05-25-one-week-of-libera-chat.md +++ b/content/_posts/2021-05-25-one-week-of-libera-chat.md @@ -33,6 +33,7 @@ We hope to see you chatting with us soon,\ kline PS: Some other "staff pick" projects we're excited to show you! + - [SourceHut](https://sourcehut.org/blog/2021-05-19-liberachat/) - [Battle for Wesnoth](https://twitter.com/Wesnoth/status/1396298348118913025) - [Mutt](http://lists.mutt.org/pipermail/mutt-announce/Week-of-Mon-20210517/000037.html) diff --git a/guidelines.md b/guidelines.md index a987e4c..eb8d8ca 100644 --- a/guidelines.md +++ b/guidelines.md @@ -2,82 +2,82 @@ title: Guidelines, recommendations and best practices --- -The following guidelines are, as the name suggests, not hard rules. We -recommend people base their conduct and that communities build their channel +The following guidelines are, as the name suggests, not hard rules. We +recommend people base their conduct and that communities build their channel rules on these guidelines, but, within the constraints of our [Network Policies](/policies), projects are free to run their channels as they see fit. ## Text based communications, intentions and misunderstandings -IRC, as a text-only method of communication, lacks many of the cues of -in-person interaction. Sarcasm, humour, inside jokes and the like might not -come across as intended and are easily misunderstood. People might also have a -different cultural background and perceive things differently than you do. We -therefore recommend that you assume good faith and, in the event of a +IRC, as a text-only method of communication, lacks many of the cues of +in-person interaction. Sarcasm, humour, inside jokes and the like might not +come across as intended and are easily misunderstood. People might also have a +different cultural background and perceive things differently than you do. We +therefore recommend that you assume good faith and, in the event of a potential misunderstanding, ask for clarification rather than accuse. ## Controversial topics -Some topics are more prone to heated debates than others. These topics -include, among others, politics, religion/faith and ideologies. While free / -open source software, privacy, and broad licenses are often political as well, -we recommend keeping unrelated politics to a minimum. In larger channels -especially, experience shows that this leads to heated debates that drive -people away and require op intervention. We also recommend respecting other -people's choices and views instead of evangelizing and trying to convert +Some topics are more prone to heated debates than others. These topics +include, among others, politics, religion/faith and ideologies. While free / +open source software, privacy, and broad licenses are often political as well, +we recommend keeping unrelated politics to a minimum. In larger channels +especially, experience shows that this leads to heated debates that drive +people away and require op intervention. We also recommend respecting other +people's choices and views instead of evangelizing and trying to convert others to your beliefs. ## Channel operators are users, too -We recommend that channel operators interact with the channel as normal users -too. Therefore, we recommend that they only op up when there is a need for -administrative action. Using the op status to intimidate or as a warning shot -is frowned upon, as it often does not help improve outcomes. However, in order -to create the desired channel atmosphere, we recommend that channel operators -are even more keen on setting a positive example and acting as role models to +We recommend that channel operators interact with the channel as normal users +too. Therefore, we recommend that they only op up when there is a need for +administrative action. Using the op status to intimidate or as a warning shot +is frowned upon, as it often does not help improve outcomes. However, in order +to create the desired channel atmosphere, we recommend that channel operators +are even more keen on setting a positive example and acting as role models to the rest of the community. ## Be mindful about sensitive content -Open channels are likely to contain people with of different age groups, -backgrounds, religions, and views. People can connect from their homes, from -schools, from public places or from their workplace. Be mindful of your +Open channels are likely to contain people with of different age groups, +backgrounds, religions, and views. People can connect from their homes, from +schools, from public places or from their workplace. Be mindful of your audience before you post sensitive content. ## Collaborate and support your community -As a contributor you are part of a larger community and will be collaborating -with other community members, as well as with other communities and -stakeholders affected by or interested in your work. We recommend that you -work in an open and transparent manner, give feedback tactfully and receive it -gracefully. Consider giving negative feedback in private. We also recommend -that you keep your community and stakeholders informed, so they can contribute -and collaborate. This avoids duplicated work and disagreements after work is +As a contributor you are part of a larger community and will be collaborating +with other community members, as well as with other communities and +stakeholders affected by or interested in your work. We recommend that you +work in an open and transparent manner, give feedback tactfully and receive it +gracefully. Consider giving negative feedback in private. We also recommend +that you keep your community and stakeholders informed, so they can contribute +and collaborate. This avoids duplicated work and disagreements after work is already done. ## Basic IRC netiquette -Users coming from different networks might be used to different IRC -subcultures, but there are some basics that most people agree on. Among them +Users coming from different networks might be used to different IRC +subcultures, but there are some basics that most people agree on. Among them are: -- When you join a new channel, read the topic and get acclimatized to the +- When you join a new channel, read the topic and get acclimatized to the channel culture and rules. - Avoid repeating content, e.g. asking your question every few minutes because - you have not received an answer yet. + you have not received an answer yet. - You should not mass highlight (mention by name) multiple people. -- Avoid writing in ALL-UPPERCASE. +- Avoid writing in ALL-UPPERCASE. - Do not demand - participate instead. If you have a problem or question, - try to give out all information needed, and show some effort to - get it answered or resolved. + try to give out all information needed, and show some effort to + get it answered or resolved. - We recommend not pasting multiple lines into a channel. How many lines are acceptable depends on the channel; a round 3 is usually a good number. You should use an external pastebin service - for larger sections of text. + for larger sections of text. - Asking the same question in multiple channels at the same time - ("cross posting") is often seen as rude. Try to find the correct place - first in order to avoid duplicate work. + ("cross posting") is often seen as rude. Try to find the correct place + first in order to avoid duplicate work. - Settings or scripts that send a public message based on your away/back status - are frowned upon. The same goes for nicknames that are based + are frowned upon. The same goes for nicknames that are based on your current status, e.g. MyName|cooking, or frequent nick changes. diff --git a/guides.md b/guides.md index 5b0587a..5436000 100644 --- a/guides.md +++ b/guides.md @@ -5,8 +5,11 @@ layout: guides {% for category in site.data.guide_categories %} {% assign guides = site.guides | where: "category", category.slug %} + ## {{ category.name }} + {% for guide in guides %} + - [{{ guide.title }}]({{ guide.url }}) {% endfor %} {% endfor %} diff --git a/package.json b/package.json new file mode 100644 index 0000000..64ab2c2 --- /dev/null +++ b/package.json @@ -0,0 +1,21 @@ +{ + "name": "libera-chat.github.io", + "version": "1.0.0", + "description": "Libera Chat website", + "scripts": { + "lint:md": "markdownlint '**/*.md'", + "lint:md:fix": "npm run lint:md -- --fix" + }, + "dependencies": {}, + "devDependencies": { + "markdownlint-cli": "^0.27.1" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/Libera-Chat/libera-chat.github.io.git" + }, + "bugs": { + "url": "https://github.com/Libera-Chat/libera-chat.github.io/issues" + }, + "homepage": "https://github.com/Libera-Chat/libera-chat.github.io#readme" +} diff --git a/privacy.md b/privacy.md index f14d126..eb4a48d 100644 --- a/privacy.md +++ b/privacy.md @@ -5,7 +5,7 @@ title: Privacy This page was last updated 2021-06-08. Libera Chat is a non-profit organisation based in Sweden (org.nr. 802535-6448). -Libera Chat operates the Libera Chat IRC network, and the website libera.chat, +Libera Chat operates the Libera Chat IRC network, and the website Libera.Chat, hereinafter referred to as "Libera Chat services". When it comes to your personal information you may have the right to: @@ -33,7 +33,7 @@ If you wish to file a complaint see the website of the When using Libera Chat services, Libera Chat may work with the following personal information about you: -- Nickname on the Libera chat IRC network +- Nickname on the Libera Chat IRC network - E-mail address - IP address/hostname - Name and project affiliation