andromeda_cms 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/CHANGELOG.md +30 -0
- data/CONTRIBUTING.md +47 -0
- data/Cargo.lock +1182 -0
- data/Cargo.toml +12 -0
- data/LICENSE.txt +21 -0
- data/README.md +276 -0
- data/ext/andromeda_cms/Cargo.toml +18 -0
- data/ext/andromeda_cms/extconf.rb +6 -0
- data/ext/andromeda_cms/src/errors.rs +55 -0
- data/ext/andromeda_cms/src/lib.rs +143 -0
- data/ext/andromeda_cms/src/nodes.rs +400 -0
- data/lib/andromeda/assets.rb +128 -0
- data/lib/andromeda/check.rb +71 -0
- data/lib/andromeda/components/errors.rb +97 -0
- data/lib/andromeda/components/import_scanner.rb +72 -0
- data/lib/andromeda/components/static_expression.rb +79 -0
- data/lib/andromeda/components.rb +348 -0
- data/lib/andromeda/configuration.rb +91 -0
- data/lib/andromeda/entry.rb +294 -0
- data/lib/andromeda/errors.rb +173 -0
- data/lib/andromeda/fix.rb +71 -0
- data/lib/andromeda/frontmatter.rb +327 -0
- data/lib/andromeda/helpers.rb +84 -0
- data/lib/andromeda/id.rb +58 -0
- data/lib/andromeda/loader.rb +96 -0
- data/lib/andromeda/parser.rb +75 -0
- data/lib/andromeda/pipeline.rb +296 -0
- data/lib/andromeda/railtie.rb +47 -0
- data/lib/andromeda/registry.rb +127 -0
- data/lib/andromeda/relation.rb +125 -0
- data/lib/andromeda/renderer/code_highlighter.rb +53 -0
- data/lib/andromeda/renderer/errors.rb +52 -0
- data/lib/andromeda/renderer/literal_expression.rb +201 -0
- data/lib/andromeda/renderer.rb +411 -0
- data/lib/andromeda/schema.rb +383 -0
- data/lib/andromeda/slugger.rb +68 -0
- data/lib/andromeda/store.rb +286 -0
- data/lib/andromeda/tasks/andromeda.rake +56 -0
- data/lib/andromeda/version.rb +5 -0
- data/lib/andromeda_cms.rb +41 -0
- data/lib/generators/andromeda/collection/USAGE +25 -0
- data/lib/generators/andromeda/collection/collection_generator.rb +239 -0
- data/lib/generators/andromeda/component/USAGE +15 -0
- data/lib/generators/andromeda/component/component_generator.rb +75 -0
- data/lib/generators/andromeda/import_astro/USAGE +21 -0
- data/lib/generators/andromeda/import_astro/astro_schema_json.rb +80 -0
- data/lib/generators/andromeda/import_astro/balanced_scanner.rb +168 -0
- data/lib/generators/andromeda/import_astro/content_config_converter.rb +232 -0
- data/lib/generators/andromeda/import_astro/import_astro_generator.rb +313 -0
- data/lib/generators/andromeda/import_astro/mdx_content_scanner.rb +91 -0
- data/lib/generators/andromeda/import_astro/mdx_import_rewriter.rb +91 -0
- data/lib/generators/andromeda/install/USAGE +11 -0
- data/lib/generators/andromeda/install/install_generator.rb +77 -0
- data/lib/generators/andromeda/install/templates/initializer.rb +30 -0
- metadata +161 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 38c3c595473d6a14f36206386ce64499841ac14949c46650e34684db8c9df879
|
|
4
|
+
data.tar.gz: 7864a88e1f8ed8465494ef00d10c34ee4374be3e92a27381a5f9bfb4c52fab8d
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 5c4b45062f074a324326d37dac40249fe8249d191954f6c571786d87e34afe20cd751ba82dc593fbc8a181c9f9b4ea1febe32eed48c4b8f9fb67a55a61efbd23
|
|
7
|
+
data.tar.gz: 10eddbe0ae7e03c7ff58fea37564a715acd15e0d92705484885cbbab32cd9918a78e6d614f73c64dee96b91666a8580dde8ab904236d409a2e88c341637af577
|
data/CHANGELOG.md
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project are documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [0.1.0] - 2026-09-27
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- Astro-compatible content collections: entry classes with a schema DSL, an
|
|
13
|
+
Astro-compatible id scheme, and queries (`all`/`find`/`where`/`order`/scopes).
|
|
14
|
+
- Markdown and MDX conversion through Sätteri, the engine Astro 7 uses by
|
|
15
|
+
default, with GFM, smart punctuation, github-slugger heading ids and Rouge
|
|
16
|
+
syntax highlighting.
|
|
17
|
+
- MDX components rendered as Rails partials, including props, children and
|
|
18
|
+
named slots.
|
|
19
|
+
- Frontmatter parsing with Astro-compatible semantics: YAML 1.2 scalars, TOML
|
|
20
|
+
(`+++`), and line numbers preserved for error messages.
|
|
21
|
+
- Build pipeline: `andromeda:build` (hooked into `assets:precompile`),
|
|
22
|
+
`andromeda:check`, `andromeda:fix` and `andromeda:clobber`, writing to
|
|
23
|
+
`.andromeda/`; on-demand conversion in development.
|
|
24
|
+
- Images referenced from content published through the asset pipeline.
|
|
25
|
+
- View helpers: `andromeda_content`, `andromeda_toc`, `andromeda_meta_tags`,
|
|
26
|
+
`andromeda_image_url`.
|
|
27
|
+
- Generators: `andromeda:install`, `andromeda:collection`,
|
|
28
|
+
`andromeda:component` and `andromeda:import_astro`.
|
|
29
|
+
|
|
30
|
+
[0.1.0]: https://github.com/AndromedaCMS/andromeda_cms/releases/tag/v0.1.0
|
data/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Contributing
|
|
2
|
+
|
|
3
|
+
**Andromeda is open source, but not open contribution.**
|
|
4
|
+
|
|
5
|
+
The code is MIT licensed: use it, fork it, change it, ship it. What this
|
|
6
|
+
project does not do is take patches into its own implementation. That keeps the
|
|
7
|
+
copyright in one place, which in turn keeps relicensing, redistribution and
|
|
8
|
+
long-term maintenance decisions simple — the same reasoning
|
|
9
|
+
[SQLite](https://www.sqlite.org/copyright.html) gives for its own policy.
|
|
10
|
+
|
|
11
|
+
So pull requests are generally closed unfixed, and that is not a judgement on
|
|
12
|
+
the code in them. Please do not spend an afternoon on a patch expecting it to be
|
|
13
|
+
merged.
|
|
14
|
+
|
|
15
|
+
## What helps most
|
|
16
|
+
|
|
17
|
+
**Bug reports.** They are the highest-value contribution here, and they are
|
|
18
|
+
always welcome. A good one includes:
|
|
19
|
+
|
|
20
|
+
- the versions of Ruby, Rails and `andromeda_cms`
|
|
21
|
+
- the content file that triggers it, reduced to the smallest thing that still
|
|
22
|
+
fails (frontmatter plus a few lines of body is usually enough)
|
|
23
|
+
- what you expected, and what happened, including the full error message
|
|
24
|
+
- for a compatibility problem: what Astro does with the same file
|
|
25
|
+
|
|
26
|
+
**Compatibility gaps.** Content that works in Astro and does not work here is a
|
|
27
|
+
bug, even if the error message looks reasonable. Say which Astro version the
|
|
28
|
+
content came from.
|
|
29
|
+
|
|
30
|
+
**Documentation that is wrong or missing.** Point at the page and say what was
|
|
31
|
+
confusing; that is enough.
|
|
32
|
+
|
|
33
|
+
**Ideas.** Open an issue describing the problem you hit rather than the
|
|
34
|
+
implementation you have in mind — the problem is the part that is hard to
|
|
35
|
+
guess from the outside.
|
|
36
|
+
|
|
37
|
+
## What to expect
|
|
38
|
+
|
|
39
|
+
Issues are read. Not every one becomes a change: this gem deliberately keeps a
|
|
40
|
+
small surface, and compatibility with Astro's behaviour outranks new options.
|
|
41
|
+
When something is declined, the issue will say why.
|
|
42
|
+
|
|
43
|
+
## Forking
|
|
44
|
+
|
|
45
|
+
Forking is a legitimate outcome, not a hostile one. If this project will not go
|
|
46
|
+
where you need it to go, the MIT licence exists precisely so you can take it
|
|
47
|
+
there yourself.
|