readme-aura 0.1.11 → 0.2.1
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.
- package/README.md +6 -5
- package/action.yml +1 -1
- package/dist/parser.js +6 -1
- package/dist/parser.js.map +1 -1
- package/dist/renderer.js +4 -0
- package/dist/renderer.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/package.json +5 -2
- package/readme.source.md +6 -5
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
](https://www.npmjs.com/package/readme-aura)
|
|
2
2
|
|
|
3
3
|
Write custom **React/JSX components** directly inside your Markdown, and readme-aura will render them into beautiful SVGs that work on GitHub.
|
|
4
4
|
|
|
@@ -11,7 +11,7 @@ GitHub strips all JS and CSS from README files. This tool lets you bypass that l
|
|
|
11
11
|
3. Preview locally with `npx readme-aura build` – JSX gets rendered to SVG via [Vercel Satori](https://github.com/vercel/satori)
|
|
12
12
|
4. Push to `main` – the GitHub Action auto-generates your `README.md`
|
|
13
13
|
|
|
14
|
-

|
|
14
|
+
[](https://www.npmjs.com/package/readme-aura)
|
|
15
15
|
|
|
16
16
|
## Quick Start
|
|
17
17
|
|
|
@@ -93,12 +93,13 @@ jobs:
|
|
|
93
93
|
|
|
94
94
|
## Features
|
|
95
95
|
|
|
96
|
-

|
|
96
|
+
[](https://www.npmjs.com/package/readme-aura)
|
|
97
97
|
|
|
98
98
|
* **Write React/JSX** – Use familiar `style={{ }}` syntax with flexbox, gradients, shadows
|
|
99
99
|
* **Powered by Satori** – Vercel's engine converts JSX to SVG without a browser
|
|
100
100
|
* **Custom Fonts** – Inter bundled by default, bring your own via `--fonts-dir`
|
|
101
101
|
* **Meta Syntax** – Control dimensions: ` ```aura width=800 height=400 `
|
|
102
|
+
* **Clickable Images** – Add a link: ` ```aura link="https://example.com" ` – clicking the image opens the URL
|
|
102
103
|
* **GitHub-Compatible** – Output is pure Markdown + SVG, works everywhere
|
|
103
104
|
|
|
104
105
|
## Animations
|
|
@@ -111,13 +112,13 @@ You can add **CSS-based SVG animations** using the `<style>` injection mechanism
|
|
|
111
112
|
|
|
112
113
|
**Targeting:** Use `id` on SVG elements (`<ellipse id="glow">`, `<g id="group">`) and reference them in CSS: `#glow { animation: pulse 2s infinite; }`. Raw SVG elements preserve `id`; Satori-rendered HTML may not always preserve `className`.
|
|
113
114
|
|
|
114
|
-

|
|
115
|
+
[](https://www.npmjs.com/package/readme-aura)
|
|
115
116
|
|
|
116
117
|
**Limitations:** No JavaScript, no SMIL. GitHub strips scripts but supports CSS animations. Prefer `transform` and `opacity` for best compatibility.
|
|
117
118
|
|
|
118
119
|
## Tech Stack
|
|
119
120
|
|
|
120
|
-

|
|
121
|
+
[](https://www.npmjs.com/package/readme-aura)
|
|
121
122
|
|
|
122
123
|
## If You Use readme-aura
|
|
123
124
|
|
package/action.yml
CHANGED
|
@@ -34,7 +34,7 @@ inputs:
|
|
|
34
34
|
commit_message:
|
|
35
35
|
description: 'Commit message for the auto-commit'
|
|
36
36
|
required: false
|
|
37
|
-
default: '
|
|
37
|
+
default: 'regenerate README via readme-aura'
|
|
38
38
|
auto_commit:
|
|
39
39
|
description: 'Whether to auto-commit and push generated files'
|
|
40
40
|
required: false
|
package/dist/parser.js
CHANGED
|
@@ -4,6 +4,7 @@ import { unified } from 'unified';
|
|
|
4
4
|
import remarkParse from 'remark-parse';
|
|
5
5
|
import remarkStringify from 'remark-stringify';
|
|
6
6
|
import { visit } from 'unist-util-visit';
|
|
7
|
+
import { parseMeta } from './renderer.js';
|
|
7
8
|
const AURA_LANG = 'aura';
|
|
8
9
|
export async function parseSource(sourcePath, assetsDir = '.github/assets', outputPath = 'README.md') {
|
|
9
10
|
const source = await readFile(sourcePath, 'utf-8');
|
|
@@ -31,9 +32,13 @@ export async function parseSource(sourcePath, assetsDir = '.github/assets', outp
|
|
|
31
32
|
alt: `readme-aura-component-${blockIndex}`,
|
|
32
33
|
title: 'Generated by readme-aura',
|
|
33
34
|
};
|
|
35
|
+
const { link } = parseMeta(codeNode.meta ?? undefined);
|
|
36
|
+
const paragraphChild = link
|
|
37
|
+
? { type: 'link', url: link, children: [imageNode] }
|
|
38
|
+
: imageNode;
|
|
34
39
|
const paragraphNode = {
|
|
35
40
|
type: 'paragraph',
|
|
36
|
-
children: [
|
|
41
|
+
children: [paragraphChild],
|
|
37
42
|
};
|
|
38
43
|
parent.children[index] = paragraphNode;
|
|
39
44
|
blockIndex++;
|
package/dist/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,WAAW,MAAM,cAAc,CAAC;AACvC,OAAO,eAAe,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,WAAW,MAAM,cAAc,CAAC;AACvC,OAAO,eAAe,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAIzC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,MAAM,SAAS,GAAG,MAAM,CAAC;AAEzB,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,UAAkB,EAClB,SAAS,GAAG,gBAAgB,EAC5B,UAAU,GAAG,WAAW;IAExB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACnD,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,iDAAiD;IACjD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAErF,MAAM,IAAI,GAAG,MAAM,OAAO,EAAE;SACzB,GAAG,CAAC,WAAW,CAAC;SAChB,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,IAAU,EAAE,EAAE;QACxB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,MAA0B,EAAE,EAAE;YAC9D,MAAM,QAAQ,GAAG,IAAY,CAAC;YAC9B,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,MAAM;gBAAE,OAAO;YAE1E,MAAM,CAAC,IAAI,CAAC;gBACV,KAAK,EAAE,UAAU;gBACjB,OAAO,EAAE,QAAQ,CAAC,KAAK;gBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,SAAS;aACjC,CAAC,CAAC;YAEH,MAAM,SAAS,GAAU;gBACvB,IAAI,EAAE,OAAO;gBACb,GAAG,EAAE,GAAG,SAAS,0BAA0B,UAAU,MAAM;gBAC3D,GAAG,EAAE,yBAAyB,UAAU,EAAE;gBAC1C,KAAK,EAAE,0BAA0B;aAClC,CAAC;YAEF,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC;YAEvD,MAAM,cAAc,GAAG,IAAI;gBACzB,CAAC,CAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAW;gBAC9D,CAAC,CAAC,SAAS,CAAC;YAEd,MAAM,aAAa,GAAc;gBAC/B,IAAI,EAAE,WAAW;gBACjB,QAAQ,EAAE,CAAC,cAAc,CAAC;aAC3B,CAAC;YAED,MAAM,CAAC,QAAsB,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC;YACtD,UAAU,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;SACD,GAAG,CAAC,eAAe,CAAC;SACpB,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnB,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC;QACtB,MAAM;KACP,CAAC;AACJ,CAAC"}
|
package/dist/renderer.js
CHANGED
|
@@ -13,6 +13,10 @@ export function parseMeta(meta) {
|
|
|
13
13
|
if (key === 'height')
|
|
14
14
|
defaults.height = parseInt(value, 10);
|
|
15
15
|
}
|
|
16
|
+
const linkMatch = meta.match(/link=["']([^"']+)["']/);
|
|
17
|
+
if (linkMatch) {
|
|
18
|
+
defaults.link = linkMatch[1];
|
|
19
|
+
}
|
|
16
20
|
return defaults;
|
|
17
21
|
}
|
|
18
22
|
export function createElement(type, props, ...children) {
|
package/dist/renderer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAUzD,MAAM,UAAU,SAAS,CAAC,IAAa;IACrC,MAAM,QAAQ,GAAkB,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IAC5D,IAAI,CAAC,IAAI;QAAE,OAAO,QAAQ,CAAC;IAE3B,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;IACjD,KAAK,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;QACnC,IAAI,GAAG,KAAK,OAAO;YAAE,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC1D,IAAI,GAAG,KAAK,QAAQ;YAAE,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC9D,CAAC;
|
|
1
|
+
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "readme-aura",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Next-Gen README generator for GitHub — render React/JSX components to SVG inside Markdown",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -58,5 +58,8 @@
|
|
|
58
58
|
},
|
|
59
59
|
"engines": {
|
|
60
60
|
"node": ">=18.0.0"
|
|
61
|
-
}
|
|
61
|
+
},
|
|
62
|
+
"workspaces": [
|
|
63
|
+
"apps/*"
|
|
64
|
+
]
|
|
62
65
|
}
|
package/readme.source.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
```aura width=800 height=210
|
|
1
|
+
```aura width=800 height=210 link="https://www.npmjs.com/package/readme-aura"
|
|
2
2
|
<div style={{ display: 'flex', flexDirection: 'column', alignItems: 'center', justifyContent: 'center', width: '100%', height: '100%', background: '#08080c', borderRadius: 20, padding: 30, fontFamily: 'Inter, sans-serif', position: 'relative', overflow: 'hidden', border: '1px solid rgba(110,80,220,0.18)' }}>
|
|
3
3
|
<style>
|
|
4
4
|
{`
|
|
@@ -111,7 +111,7 @@ GitHub strips all JS and CSS from README files. This tool lets you bypass that l
|
|
|
111
111
|
3. Preview locally with `npx readme-aura build` – JSX gets rendered to SVG via [Vercel Satori](https://github.com/vercel/satori)
|
|
112
112
|
4. Push to `main` – the GitHub Action auto-generates your `README.md`
|
|
113
113
|
|
|
114
|
-
```aura width=800 height=220
|
|
114
|
+
```aura width=800 height=220 link="https://www.npmjs.com/package/readme-aura"
|
|
115
115
|
<div style={{ display: 'flex', width: '100%', height: '100%', gap: 12, fontFamily: 'Inter, sans-serif', position: 'relative', overflow: 'hidden', background: '#08080c', borderRadius: 16, padding: 24, border: '1px solid rgba(110,80,220,0.18)' }}>
|
|
116
116
|
<style>
|
|
117
117
|
{`
|
|
@@ -275,7 +275,7 @@ jobs:
|
|
|
275
275
|
|
|
276
276
|
## Features
|
|
277
277
|
|
|
278
|
-
```aura width=800 height=160
|
|
278
|
+
```aura width=800 height=160 link="https://www.npmjs.com/package/readme-aura"
|
|
279
279
|
<div style={{ display: 'flex', width: '100%', height: '100%', gap: 12, fontFamily: 'Inter, sans-serif', position: 'relative', overflow: 'hidden', background: '#08080c', borderRadius: 16, padding: 20, border: '1px solid rgba(110,80,220,0.18)' }}>
|
|
280
280
|
<style>
|
|
281
281
|
{`
|
|
@@ -374,6 +374,7 @@ jobs:
|
|
|
374
374
|
- **Powered by Satori** – Vercel's engine converts JSX to SVG without a browser
|
|
375
375
|
- **Custom Fonts** – Inter bundled by default, bring your own via `--fonts-dir`
|
|
376
376
|
- **Meta Syntax** – Control dimensions: `` ```aura width=800 height=400 ``
|
|
377
|
+
- **Clickable Images** – Add a link: `` ```aura link="https://example.com" `` – clicking the image opens the URL
|
|
377
378
|
- **GitHub-Compatible** – Output is pure Markdown + SVG, works everywhere
|
|
378
379
|
|
|
379
380
|
## Animations
|
|
@@ -386,7 +387,7 @@ You can add **CSS-based SVG animations** using the `<style>` injection mechanism
|
|
|
386
387
|
|
|
387
388
|
**Targeting:** Use `id` on SVG elements (`<ellipse id="glow">`, `<g id="group">`) and reference them in CSS: `#glow { animation: pulse 2s infinite; }`. Raw SVG elements preserve `id`; Satori-rendered HTML may not always preserve `className`.
|
|
388
389
|
|
|
389
|
-
```aura width=400 height=140
|
|
390
|
+
```aura width=400 height=140 link="https://www.npmjs.com/package/readme-aura"
|
|
390
391
|
<div style={{ position: 'relative', overflow: 'hidden', width: '100%', height: '100%', background: '#0a0a12', borderRadius: 12, display: 'flex', alignItems: 'center', justifyContent: 'center', fontFamily: 'Inter, sans-serif' }}>
|
|
391
392
|
<style>
|
|
392
393
|
{`
|
|
@@ -434,7 +435,7 @@ You can add **CSS-based SVG animations** using the `<style>` injection mechanism
|
|
|
434
435
|
|
|
435
436
|
## Tech Stack
|
|
436
437
|
|
|
437
|
-
```aura width=700 height=60
|
|
438
|
+
```aura width=700 height=60 link="https://www.npmjs.com/package/readme-aura"
|
|
438
439
|
<div style={{ display: 'flex', gap: 10, padding: '12px 20px', width: '100%', height: '100%', background: '#08080c', borderRadius: 30, alignItems: 'center', justifyContent: 'center', fontFamily: 'Inter, sans-serif', position: 'relative', overflow: 'hidden', border: '1px solid rgba(110,80,220,0.18)' }}>
|
|
439
440
|
<style>
|
|
440
441
|
{`
|