diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 8abe4458..4ef6738c 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1 +1,2 @@ -github: [antfu, patak-dev, sxzz, danielroe] +github: [elk-zone] +open_collective: elk diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e68e4e73..1d6ec35a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -4,9 +4,13 @@ Hi! We are really excited that you are interested in contributing to Elk. Before Refer also to https://github.com/antfu/contribute. -## Set up your local development environment +### Online -The package manager used to install and link dependencies must be [pnpm](https://pnpm.io/) (Note: on Linux in a standard Node 16+ environment, you should follow the instructions to install via Node's `corepack` rather than using the `curl` command). +You can use [StackBlitz Codeflow](https://stackblitz.com/codeflow) to fix bugs or implement features. You'll also see a Codeflow button on PRs to review them without a local setup. Once the elk repo has been cloned in Codeflow, the dev server will start automatically and print the URL to open the App. You should receive a prompt in the bottom-right suggesting to open it in the Editor or in another Tab. To learn more, check out the [Codeflow docs](https://developer.stackblitz.com/codeflow/what-is-codeflow). + +[![Open in Codeflow](https://developer.stackblitz.com/img/open_in_codeflow.svg)](https://pr.new/elk-zone/elk) + +### Local Setup To develop and test the Elk package: @@ -14,18 +18,33 @@ To develop and test the Elk package: 2. Ensure using the latest Node.js (16.x) -3. Elk uses pnpm v7, you must enable [Corepack](https://github.com/nodejs/corepack) by running `corepack enable`. +3. The package manager used to install and link dependencies must be [pnpm](https://pnpm.io/) v7. To use it you must first enable [Corepack](https://github.com/nodejs/corepack) by running `corepack enable`. (Note: on Linux in a standard Node 16+ environment, you should follow the instructions to install via Node's `corepack` rather than using the `curl` command) 4. Check out a branch where you can work and commit your changes: ```shell git checkout -b my-new-branch ``` -5. Run `pnpm i` in Elk's root folder +1. Run `pnpm i` in Elk's root folder -6. Run `pnpm nuxi prepare` in Elk's root folder +2. Run `pnpm nuxi prepare` in Elk's root folder -7. Run `pnpm dev` in Elk's root folder to start dev server or `pnpm dev:mocked` to start dev server with `@elkdev@universeodon.com` user. +3. Run `pnpm dev` in Elk's root folder to start dev server or `pnpm dev:mocked` to start dev server with `@elkdev@universeodon.com` user. + +We recommend installing [ni](https://github.com/antfu/ni#ni), that will use the right package manager in each of your projects. If `ni` is installed, you can instead run: + +``` +ni +nr dev +``` + +### Testing + +Elk uses [Vitest](https://vitest.dev). You can run the test suite with: + +``` +nr test +``` ### Running PWA on dev server diff --git a/README.md b/README.md index 013c1665..f88a9bd8 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,15 @@ -# Elk -*A nimble Mastodon web client* -
+ +Elk alpha + ++A nimble Mastodon web client +
++ + + +
-It is already quite usable, but it isn't ready for wide adoption yet. We recommend you to use it if you would like to help us build it. We appreciate your feedback and contributions. Check out the [Open Issues](https://github.com/elk-zone/elk/issues) and jump in the action. Join the [Elk discord server](https://chat.elk.zone) to chat with us and learn more about the project. +## ⚠️ Elk is in Alpha + +It is already quite usable, but it isn't ready for wide adoption yet. We recommend you use it if you would like to help us build it. We appreciate your feedback and contributions. Check out the [Open Issues](https://github.com/elk-zone/elk/issues) and jump in the action. Join the [Elk discord server](https://chat.elk.zone) to chat with us and learn more about the project. The client is deployed on: @@ -24,9 +34,9 @@ The client is deployed on: You can share screenshots on social media but we prefer you avoid sharing this URL directly until the app is more polished. Feel free to share the URL with your friends and invite others you think could be interested in helping to improve Elk. -## Sponsors +## 💖 Sponsors -We want to thanks the generous sponsoring and help of: +We are grateful for the generous sponsorship and help of: @@ -37,7 +47,11 @@ We want to thanks the generous sponsoring and help of:
+ {{ $t('settings.about.sponsors') }}
+
+ {{ $t('settings.about.sponsors_body_1') }}
+
+ {{ $t('settings.about.sponsors_body_2') }}
+
+ {{ $t('settings.about.sponsors_body_3') }}
+
{{ $t('settings.about.meet_the_team') }}
`
})
diff --git a/composables/vue.ts b/composables/vue.ts
index 1c3224da..3c3a99c2 100644
--- a/composables/vue.ts
+++ b/composables/vue.ts
@@ -37,6 +37,20 @@ export function onReactivated(hook: Function, target?: ComponentInternalInstance
// TODO: Workaround for Nuxt bug: https://github.com/elk-zone/elk/pull/199#issuecomment-1329771961
export function useHeadFixed${code}
[(\`number string) (\`tag string)]
Testing code block
import { useMouse, usePreferredDark } from '@vueuse/core'
// tracks mouse position
diff --git a/tests/content-rich.test.ts b/tests/content-rich.test.ts
index c3df5b0c..920ab457 100644
--- a/tests/content-rich.test.ts
+++ b/tests/content-rich.test.ts
@@ -20,6 +20,11 @@ describe('content-rich', () => {
expect(formatted).toMatchSnapshot()
})
+ it ('block with backticks', async () => {
+ const { formatted } = await render('```
[(`number string) (`tag string)]
```
')
+ expect(formatted).toMatchSnapshot()
+ })
+
it('group mention', async () => {
const { formatted } = await render('', undefined, [{ id: '', username: 'pilipinas', url: 'https://lemmy.ml/c/pilipinas', acct: 'pilipinas@lemmy.ml' }])
expect(formatted).toMatchSnapshot('html')