Skip to content

Commit

Permalink
Add introduction blog post (#141)
Browse files Browse the repository at this point in the history
* Add tentative introduction blog post

* Fix slug

* Fix link

Co-authored-by: HiDeoo <[email protected]>

* reorder intro paragraphs (#143)

* reorder intro paragraphs

* Nits

---------

Co-authored-by: Yan <[email protected]>

* Reestructuring

* Apply Chris' suggestions

Co-authored-by: Chris Swithinbank <[email protected]>

* Apply more suggestions

Co-authored-by: Chris Swithinbank <[email protected]>

* Apply Sarah's suggestions part 2!

Co-authored-by: Sarah Rainsberger <[email protected]>

* Final suggestions

* Update release date

---------

Co-authored-by: HiDeoo <[email protected]>
Co-authored-by: Sarah Rainsberger <[email protected]>
Co-authored-by: Chris Swithinbank <[email protected]>
  • Loading branch information
4 people authored May 28, 2024
1 parent 86cf527 commit 2820d79
Show file tree
Hide file tree
Showing 5 changed files with 1,201 additions and 165 deletions.
3 changes: 2 additions & 1 deletion docs/astro.config.mjs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import starlight from '@astrojs/starlight';
import { defineConfig } from 'astro/config';
import starlightLinksValidator from 'starlight-links-validator';
import starlightBlog from 'starlight-blog'

const site = 'https://lunaria.dev/';

Expand Down Expand Up @@ -67,7 +68,7 @@ export default defineConfig({
},
],
customCss: ['./src/styles/theme.css', './src/styles/landing.css'],
plugins: [starlightLinksValidator()],
plugins: [starlightLinksValidator(), starlightBlog()],
}),
],
});
5 changes: 3 additions & 2 deletions docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,10 @@
"astro": "astro"
},
"dependencies": {
"@astrojs/starlight": "^0.21.5",
"astro": "^4.6.2",
"@astrojs/starlight": "^0.23.1",
"astro": "^4.8.6",
"sharp": "^0.32.5",
"starlight-blog": "^0.8.2",
"starlight-links-validator": "^0.8.0"
}
}
5 changes: 3 additions & 2 deletions docs/src/content/config.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import { defineCollection } from 'astro:content';
import { docsSchema, i18nSchema } from '@astrojs/starlight/schema';
import { defineCollection } from 'astro:content';
import { blogSchema } from 'starlight-blog/schema';

export const collections = {
docs: defineCollection({ schema: docsSchema() }),
docs: defineCollection({ schema: docsSchema({ extend: blogSchema() }) }),
i18n: defineCollection({ type: 'data', schema: i18nSchema() }),
};
69 changes: 69 additions & 0 deletions docs/src/content/docs/blog/introducing-lunaria.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
---
title: Introducing Lunaria
excerpt:
Lunaria is a complete localization management toolchain built especially for open-source projects. Currently, Lunaria is already being used in production to help track over 5000 content files in over a dozen of locales in big projects such as [Astro](https://i18n.docs.astro.build/), [Starlight](https://i18n.starlight.astro.build/), [SolidJS](https://docs.solidjs.com/i18n-status/), and [VitePress](https://vitepress.dev/_translations/).
date: 2024-05-28
authors:
name: Yan Thomas
title: Maintainer
picture: https://avatars.githubusercontent.com/u/61414485
url: https://github.com/yanthomasdev/
---

Maintaining a project for an international audience is no easy task!

It is a lot of effort to build a sustainable workflow for content to be progressively and consistently localized, especially if you also have contributors to your project.

Lunaria is a complete **localization management toolchain** built especially for open-source projects.

Lunaria is already being used in production to help track over 5,000 content files in over a dozen locales in big projects such as [Astro](https://i18n.docs.astro.build/), [Starlight](https://i18n.starlight.astro.build/), [SolidJS](https://docs.solidjs.com/i18n-status/), and [VitePress](https://vitepress.dev/_translations/).

:::tip[Ready to get started?]
Read the official ["Getting Started" guide](https://lunaria.dev/getting-started/) to learn more about and set up Lunaria in your project.
:::

## Why Lunaria?

While making the Astro documentation available for translation, we noticed how hard it was to build a sustainable workflow for both maintainers and contributors. Most localization management platforms (the ones that help you keep track of and update localizations) force you to give up control of your content and require some sort of paid subscription. More importantly, your international contributors have to learn their platform too, if it is even available in their country.

Wanting a truly free, open-source solution that integrated seamlessly into the translators' and maintainers' normal workflow, the Astro maintainer [`@hippotastic`](https://github.com/hippotastic) built a tailor-made translation tracking tool. The community contributors used this to organize and mobilize, translating the official Astro documentation into 14 different languages with ease.

Lunaria is the evolution of that custom-tailored tool, with a wider scope, more features, and support for different types of projects—fun fact, Lunaria was first hinted at in the ["How Astro does i18n" blog post](https://astro.build/blog/astro-i18n/#going-forward)!

## What's in the "toolchain"?

Lunaria is a *toolchain*: a set of tools that **supercharge your localization workflow** by integrating with several parts of your project's infrastructure, including your repository's Git history, your project's file structure, and development platform such as GitHub or GitLab.

As of today, the toolchain includes:

- A **custom tracking system** that keeps track of your source and localized content changes powered by Git, including a runtime API you can use to build upon.
- A **complete and easy-to-read status dashboard** you can share with contributors and maintainers.
- **Official integrations**, such as a [GitHub Action](https://lunaria.dev/integrations/github-action/) and dashboard integration with the [Starlight documentation theme for Astro](https://lunaria.dev/integrations/starlight/).

And this list is only going to grow soon as we add additional tools to complement our core features.

## First public release

Today marks the release of Lunaria v0.1. This minor release means that Lunaria is ready to be tested and used in production. I also encourage feedback and would love to learn about *your* use cases so that Lunaria can mature into an even better project.

Additionally, the officially supported [Lunaria GitHub Action](https://lunaria.dev/integrations/github-action/) and the [Lunaria integration for Starlight](https://lunaria.dev/integrations/starlight/) are also receiving their own v0.1 releases as of today.

:::caution[Beta software]
Missing features, bugs, and breaking changes are still expected in this early stage across all officially maintained packages. If you find anything wrong or unexpected, please [open an issue on GitHub](https://github.com/yanthomasdev/lunaria/issues/new/choose)!
:::

## Onward

Lunaria is—and will continue to be—**free and open-source software** (FOSS). You don't need to sign up, and and you don't need to give up ownership of your content to another platform. Lunaria's sole goal is to help you make the world more inclusive, accessible, and globalized.

In response to your feedback, Lunaria will receive constant updates with bug fixes, improvements, and brand-new features. Join the community in brainstorming how Lunaria can shape up to be even better in the future -- and believe me, there are lots of exciting ideas being cooked up!

## Support

Maintaining an open-source project is a lot of work, especially when you're an unemployed and broke college student from Latin America. Fortunately, I've been lucky to have received support from [Astro](https://astro.build/) to dedicate some of my time to Lunaria these past months and bring it to its current state.

If your company or project uses Lunaria, supporting development through [GitHub Sponsors](https://github.com/sponsors/yanthomasdev) will help guarantee its long-term maintenance, and even better, allow me to live sustainably while working full-time on open-source.

As a final -- and quite personal -- aside, Lunaria is the first open-source project and package I wrote and led. To build something like this in public is, to be quite honest, frightening. For all those understanding and kind enough to test it and share your constructive feedback, thank you!


Loading

0 comments on commit 2820d79

Please sign in to comment.