Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add CI to lint markdown #2540

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
19 changes: 19 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Lint
on:
push:
branches:
- main
pull_request:

jobs:
run:
name: Lint Markdown files
runs-on: ubuntu-latest
steps:
- name: Checkout Actions Repository
uses: actions/checkout@v4

- name: Lint Markdown
uses: DavidAnson/markdownlint-cli2-action@v17
with:
globs: '**/*.md'
18 changes: 18 additions & 0 deletions .markdownlint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"default": true,
"MD007": {
"indent": 4,
"start_indent": 4
},
"//MD013": {
"line_length": 120
},
"MD041": false,
"MD033": false,
"MD051": false,
"MD013": {
"//comment": "//Temporary disabled until we can fix the line length issue",
"line_length": 1200000
},
"MD024": false
}
27 changes: 19 additions & 8 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,20 @@ This is the repository for the matrix.org website.

We ask that everybody who contributes to this project signs off their contributions, as explained below.

We follow a simple 'inbound=outbound' model for contributions: the act of submitting an 'inbound' contribution means that the contributor agrees to license their contribution under the same terms as the project's overall 'outbound' license - in our case, this is Apache Software License v2 (see [LICENSE-Apache-2.0](./LICENSE-Apache-2.0)) for code and Creative Commons Attribution-ShareAlike 4.0 International (see [LICENSE-CC-BY-SA](./LICENSE-CC-BY-SA)) for other things, including text and graphics.

In order to have a concrete record that your contribution is intentional and you agree to license it under the same terms as the project's license, we've adopted the same lightweight approach used by the [Linux Kernel](https://www.kernel.org/doc/html/latest/process/submitting-patches.html), [Docker](https://github.com/docker/docker/blob/master/CONTRIBUTING.md), and many other projects: the [Developer Certificate of Origin](https://developercertificate.org/) (DCO). This is a simple declaration that you wrote the contribution or otherwise have the right to contribute it to Matrix:

```
We follow a simple 'inbound=outbound' model for contributions: the act of submitting an 'inbound' contribution means
that the contributor agrees to license their contribution under the same terms as the project's overall
'outbound' license - in our case, this is Apache Software License v2 (see [LICENSE-Apache-2.0](./LICENSE-Apache-2.0))
for code and Creative Commons Attribution-ShareAlike 4.0 International (see [LICENSE-CC-BY-SA](./LICENSE-CC-BY-SA))
for other things, including text and graphics.

In order to have a concrete record that your contribution is intentional and you agree to license it under the same terms
as the project's license, we've adopted the same lightweight approach used by the
[Linux Kernel](https://www.kernel.org/doc/html/latest/process/submitting-patches.html),
[Docker](https://github.com/docker/docker/blob/master/CONTRIBUTING.md), and many other projects:
the [Developer Certificate of Origin](https://developercertificate.org/) (DCO).
This is a simple declaration that you wrote the contribution or otherwise have the right to contribute it to Matrix:

```txt
Developer Certificate of Origin
Version 1.1

Expand Down Expand Up @@ -50,10 +59,12 @@ By making a contribution to this project, I certify that:
this project or the open source license(s) involved.
```

If you agree to this for your contribution, then all that's needed is to include the line in your commit or pull request comment:
If you agree to this for your contribution, then all that's needed is to
include the line in your commit or pull request comment:

```
```txt
Signed-off-by: Your Name <[email protected]>
```

Git allows you to add this signoff automatically when using the `-s` flag to `git commit`, which uses the name and email set in your `user.name` and `user.email` git configs.
Git allows you to add this signoff automatically when using the `-s` flag to `git commit`, which uses the name and email
set in your `user.name` and `user.email` git configs.
6 changes: 4 additions & 2 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
The content of this repository is placed under two different licenses.

- All the code making up the website is under Apache-2.0 license, that can be found in the LICENSE-Apache-2.0 file at the root of this repository
- All the content produced to populate the website is located in the `content/` directory and is under CC BY-SA license. The license can be found in LICENSE-CC-BY-SA
- All the code making up the website is under Apache-2.0 license, that can be found in the LICENSE-Apache-2.0 file at
the root of this repository
- All the content produced to populate the website is located in the `content/` directory and is under CC BY-SA license.
The license can be found in LICENSE-CC-BY-SA
16 changes: 13 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## Matrix.org Website
# Matrix.org Website

If you want to contribute to the website, make sure the problem you're trying to
fix or the feature you want to implement has been discussed in our issue tracker
Expand All @@ -12,10 +12,20 @@ To discuss maintenance of this site, please come talk to the team in
Install the latest version of [Zola](https://www.getzola.org), clone the repo, and from the root of the
repo type

```
```bash
zola serve
```

Zola will build the website and start a web server, usually at
http://127.0.0.1:1111
<http://127.0.0.1:1111>

## Running the markdown linter

We are running the <https://github.com/DavidAnson/markdownlint-cli2> markdown linter on the website.
To run it locally, you can use the following command:

```bash
npx markdownlint-cli2 --fix "**/*.md"
```

This is based on <https://github.com/DavidAnson/markdownlint> and can also be used as a [VSCode Extension](https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint)
24 changes: 12 additions & 12 deletions content/blog/2014/09/2014-09-03-hello-world.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,29 +17,29 @@ We decided that we want to fix this and so we have built and published a new ope

The standard and code are all brand new and very much still in creation at this point, but we're releasing it early to get as much feedback and input from the community as early on as we possibly can. Right now our focus is on fully decentralised federated group messaging, but VoIP and identity management is coming together well too.  You can think of it as "making VoIP/IM as interoperable and flexible as email", or perhaps "the missing signalling layer for WebRTC", "XMPP for an HTTP world", or “what would happen if IRC, XMPP, SIP, SMTP, IMAP and NNTP had kids?” Here are some reasons we think that you should use Matrix:
<ul>
<li><span style="font-size: 1rem; line-height: 1.714285714;">Simple pragmatic RESTful HTTP/JSON APIs.  No more XMPP or SIP stacks and wrestling XML streams or torture-testing SIP parsers.</span>
<li><span style="font-size: 1rem; line-height: 1.714285714;">Simple pragmatic RESTful HTTP/JSON APIs.  No more XMPP or SIP stacks and wrestling XML streams or torture-testing SIP parsers.</span>
</li>
<li><span style="font-size: 1rem; line-height: 1.714285714;">No single points of control for channels of communication (unless you really want it for moderation or similar). Room state for a room is synchronised with eventual consistency over all participating Matrix servers - no single server controls the room.</span>
<li><span style="font-size: 1rem; line-height: 1.714285714;">No single points of control for channels of communication (unless you really want it for moderation or similar). Room state for a room is synchronised with eventual consistency over all participating Matrix servers - no single server controls the room.</span>
</li>
<li><span style="font-size: 1rem; line-height: 1.714285714;">No more netsplits - history re-heals itself if the matrix fractures</span>
<li><span style="font-size: 1rem; line-height: 1.714285714;">No more netsplits - history re-heals itself if the matrix fractures</span>
</li>
<li><span style="font-size: 1rem; line-height: 1.714285714;">All communication is group by default: 1:1 chat is just a subset of group chat.</span>
<li><span style="font-size: 1rem; line-height: 1.714285714;">All communication is group by default: 1:1 chat is just a subset of group chat.</span>
</li>
<li><span style="font-size: 1rem; line-height: 1.714285714;">Multi-device aware: all state is stored and synchronised in realtime across all devices, and away-state and notifications are aware of multiple devices.</span>
<li><span style="font-size: 1rem; line-height: 1.714285714;">Multi-device aware: all state is stored and synchronised in realtime across all devices, and away-state and notifications are aware of multiple devices.</span>
</li>
<li><span style="font-size: 1rem; line-height: 1.714285714;">Uses arbitrary 3rd party identifiers - doesn't rely on JIDs or SIP URIs for identity.</span>
<li><span style="font-size: 1rem; line-height: 1.714285714;">Uses arbitrary 3rd party identifiers - doesn't rely on JIDs or SIP URIs for identity.</span>
</li>
<li><span style="font-size: 1rem; line-height: 1.714285714;">Share the same simple HTTP signalling channel for messaging and VoIP</span>
<li><span style="font-size: 1rem; line-height: 1.714285714;">Share the same simple HTTP signalling channel for messaging and VoIP</span>
</li>
<li><span style="font-size: 1rem; line-height: 1.714285714;">Support more efficient transports if you want (e.g. low-bandwidth/low-roundtrip sync on mobile)</span>
<li><span style="font-size: 1rem; line-height: 1.714285714;">Support more efficient transports if you want (e.g. low-bandwidth/low-roundtrip sync on mobile)</span>
</li>
<li><span style="font-size: 1rem; line-height: 1.714285714;">Built for mobile - e.g. support push notification and low-bandwidth/low-latency client-server transports if needed (in progress)</span>
<li><span style="font-size: 1rem; line-height: 1.714285714;">Built for mobile - e.g. support push notification and low-bandwidth/low-latency client-server transports if needed (in progress)</span>
</li>
<li><span style="font-size: 1rem; line-height: 1.714285714;">TLS (HTTPS) by default, either with self-signed certs with published public keys or proper SSL CA signed certs (in progress)</span>
<li><span style="font-size: 1rem; line-height: 1.714285714;">TLS (HTTPS) by default, either with self-signed certs with published public keys or proper SSL CA signed certs (in progress)</span>
</li>
<li><span style="font-size: 1rem; line-height: 1.714285714;">End-to-end PKI encryption (in progress)</span>
<li><span style="font-size: 1rem; line-height: 1.714285714;">End-to-end PKI encryption (in progress)</span>
</li>
<li><span style="font-size: 1rem; line-height: 1.714285714;">Trusted federation of public identity servers available for publishing your PKI public keys and tracking your validated 3rd party IDs</span>
<li><span style="font-size: 1rem; line-height: 1.714285714;">Trusted federation of public identity servers available for publishing your PKI public keys and tracking your validated 3rd party IDs</span>
</li>
</ul>
If this sounds good to you, then please take a look at the <a href="http://matrix.org/docs/spec">spec</a>, or our <a href="http://matrix.org/docs/howtos">tutorials</a>, or jump straight into playing with the <a href="http://matrix.org/docs/api">APIs</a>, or try running your own Matrix homeserver, or sign up to our <a href="http://matrix.org/mailman">mailing lists</a> - and whatever else, come swing by <a href="http://matrix.org/alpha">#matrix:matrix.org</a> and say hi!
Expand Down
1 change: 1 addition & 0 deletions content/blog/2014/09/2014-09-06-synapse-v0-2-2-released.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ Webclient:
* Make IRC-style commands a little more forgiving

Homeserver:

* Validate `m.room.power_level` events.
* When the server returns state events it now also includes the previous content if any to aid pagination
* Add support for inviting people when creating a new room.
Expand Down
8 changes: 4 additions & 4 deletions content/blog/2014/09/2014-09-13-synapse-v0-2-3-released.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,12 @@ python setup.py develop --user
./synctl start # to actually set it running
</pre>

and then head over to http://localhost:8008 to play with your very own Matrix homeserver!
and then head over to <http://localhost:8008> to play with your very own Matrix homeserver!


Changes in synapse 0.2.3 (2014-09-12)
=====================================
## Changes in synapse 0.2.3 (2014-09-12)

Homeserver:

* Fix bug where we stopped sending events to remote home servers if a
user from that home server left, even if there were some still in the
room.
Expand All @@ -44,6 +43,7 @@ rejecting events.
* Many stability fixes

Webclient:

* Display room names and topics.
* Allow setting/editing of room names and topics.
* Display information about rooms on the main page.
Expand Down
20 changes: 12 additions & 8 deletions content/blog/2014/09/2014-09-18-synapse-0-3-2-released.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,36 +16,38 @@ The big changes are:
* Lots of nice usability refinements to webclient - e.g. per-message notifications; cursor-key history navigation; faster room loading
* More bugfixes and stability fixes on the homeserver

Please reload the page if you're lurking on http://matrix.org/alpha to pull in the new webclient.
Please reload the page if you're lurking on <http://matrix.org/alpha> to pull in the new webclient.

If you're running a homeserver - please upgrade with a quick <code>git pull && ./synctl restart</code>.

If you're not running a homeserver... why not? ;D

--Matthew

Changes in synapse 0.3.2 (2014-09-18)
=====================================
## Changes in synapse 0.3.2 (2014-09-18)

Webclient:
* Fix regression where an empty "bing words" list in old accounts didn't send

* Fix regression where an empty "bing words" list in old accounts didn't send
notifications when it should have done.

Changes in synapse 0.3.1 (2014-09-18)
=====================================
## Changes in synapse 0.3.1 (2014-09-18)

This is a release to hotfix v0.3.0 to fix two regressions.

Webclient:

* Fix a regression where we sometimes displayed duplicate events.
* Fix a regression where we didn't immediately remove rooms you were
banned in from the recents list.

Changes in synapse 0.3.0 (2014-09-18)
=====================================
## Changes in synapse 0.3.0 (2014-09-18)

See UPGRADE for information about changes to the client server API, including
breaking backwards compatibility with VoIP calls and registration API.

Homeserver:

* When a user changes their displayname or avatar the server will now update
all their join states to reflect this.
* The server now adds "age" key to events to indicate how old they are. This
Expand All @@ -56,6 +58,7 @@ assume their clock is in sync with everyone else.
* Add support for password resets.

Webclient:

* Improve page content loading.
* Join/parts now trigger desktop notifications.
* Always show room aliases in the UI if one is present.
Expand All @@ -72,6 +75,7 @@ the view jumped to the bottom of the screen.
* Update VoIP implementation to use new API

Registration API:

* The registration API has been overhauled to function like the login API. In
practice, this means registration requests must now include the following:
'type':'m.login.password'. See UPGRADE for more information on this.
Expand Down
28 changes: 14 additions & 14 deletions content/blog/2014/09/2014-09-22-synapse-0-3-3-released.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,27 +11,27 @@ Hello world,

Synapse 0.3.3 was released today, concentrating on both feature & stability improvements on the webclient. The big news is that 1:1 video calling via WebRTC is implemented (although we're still working on some stability issues, and Synapse doesn't support TURN yet. This will be coming in the next few days however!).

Play with the demo server at http://matrix.org/alpha, or update your own homeserver with a <code>git pull && ./synctl restart</code> or by cloning a new checkout with <code>git clone https://github.com/matrix-org/synapse.git</code>
Play with the demo server at <http://matrix.org/alpha>, or update your own homeserver with a <code>git pull && ./synctl restart</code> or by cloning a new checkout with <code>git clone https://github.com/matrix-org/synapse.git</code>

--Matthew

Changes in synapse 0.3.3 (2014-09-22)
=====================================
## Changes in synapse 0.3.3 (2014-09-22)

Homeserver:
* Fix bug where you continued to get events for rooms you had left.

* Fix bug where you continued to get events for rooms you had left.

Webclient:
* Add support for video calls with basic UI.
* Fix bug where one to one chats were named after your display name rather

* Add support for video calls with basic UI.
* Fix bug where one to one chats were named after your display name rather
than the other person's.
* Fix bug which caused lag when typing in the textarea.
* Refuse to run on browsers we know won't work.
* Trigger pagination when joining new rooms.
* Fix bug where we sometimes didn't display invitations in recents.
* Automatically join room when accepting a VoIP call.
* Disable outgoing and reject incoming calls on browsers we don't support
* Fix bug which caused lag when typing in the textarea.
* Refuse to run on browsers we know won't work.
* Trigger pagination when joining new rooms.
* Fix bug where we sometimes didn't display invitations in recents.
* Automatically join room when accepting a VoIP call.
* Disable outgoing and reject incoming calls on browsers we don't support
VoIP in.
* Don't display desktop notifications for messages in the room you are
* Don't display desktop notifications for messages in the room you are
non-idle and speaking in.

5 changes: 3 additions & 2 deletions content/blog/2014/09/2014-09-25-synapse-0-3-4-released.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,20 +21,21 @@ thanks,

Matthew

Changes in synapse 0.3.4 (2014-09-25)
=====================================
## Changes in synapse 0.3.4 (2014-09-25)

This version adds support for using a TURN server. See docs/turn-howto.rst on
how to set one up.

Homeserver:

* Add support for redaction of messages.
* Fix bug where inviting a user on a remote home server could take up to
20-30s.
* Implement a get current room state API.
* Add support specifying and retrieving turn server configuration.

Webclient:

* Add button to send messages to users from the home page.
* Add support for using TURN for VoIP calls.
* Show display name change messages.
Expand Down
1 change: 0 additions & 1 deletion content/blog/2014/10/2014-10-16-who-is-matrix-org.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,3 @@ Matthew's day job is running the Unified Communications team at Amdocs, creating
Amandine Le Pape is business co-founder of matrix.org, responsible for defining the Matrix vision with Matthew and then organising the non-technical activities required to support and promote it and make it successful.

Amandine has spent the last 2 years setting up and leading the Unified Communications line of business within Amdocs as a Product Manager, and has more than 10 years of experience in mobile services and telecommunications. She has a degree in telecommunications engineering from Ecole Supérieure de Chimie, Physique et Electronique de Lyon and an EMBA from ESC Rennes. [<a href="https://www.linkedin.com/in/amandineroux">LinkedIn</a>]

Loading
Loading