|
5 | 5 | <img src="https://banners.beyondco.de/Preview%20Updater.png?theme=light&pattern=topography&style=style_2&fontSize=100px&images=code&packageManager=npm+install&packageName=preview-updater&description=Lightweight+preview+update+in+your+repository" alt="Preview Updater"> |
6 | 6 | </picture> |
7 | 7 |
|
8 | | -Легко обновляйте превью своих репозиториев, сохраняя время и усилия на процесс разработки. |
9 | | - |
10 | | -## Как это работает |
11 | | - |
12 | | -- читает YAML-конфиг с параметрами баннера и списком репозиториев; |
13 | | -- получает `README` указанных репозиториев через GitHub API; |
14 | | -- вставляет (или обновляет) ссылки на превью-баннеры под заголовком, поддерживая светлую/тёмную темы; |
15 | | -- коммитит изменение в целевой ветке только при фактической разнице. |
16 | | - |
17 | | -## Пример workflow |
18 | | - |
19 | | -```yaml |
20 | | -name: Preview Updater |
21 | | - |
22 | | -on: |
23 | | - schedule: |
24 | | - - cron: 20 2 1 * * |
25 | | - workflow_dispatch: |
26 | | - |
27 | | -jobs: |
28 | | - preview_updater: |
29 | | - runs-on: ubuntu-latest |
30 | | - permissions: |
31 | | - contents: write |
32 | | - steps: |
33 | | - - uses: actions/checkout@v4 |
34 | | - |
35 | | - - name: Update previews |
36 | | - uses: TheDragonCode/preview-updater@v1 |
37 | | - with: |
38 | | - token: ${{ secrets.GITHUB_TOKEN }} |
39 | | - config-path: .github/preview.yml |
40 | | - commit-message: 'docs: refresh preview banners' |
41 | | -``` |
42 | | -
|
43 | | -## Конфигурация `.github/preview.yml` |
44 | | - |
45 | | -```yaml |
46 | | -owner: TheDragonCode # организация/владелец по умолчанию |
47 | | -path: README.md # путь к файлу по умолчанию |
48 | | -branch: main # ветка по умолчанию |
49 | | -
|
50 | | -defaults: # дефолтные параметры баннера (переопределяются в repositories[].image) |
51 | | - canDark: true |
52 | | - host: https://banners.beyondco.de |
53 | | - theme: light |
54 | | - pattern: topography |
55 | | - style: style_2 |
56 | | - fontSize: 100px |
57 | | - icon: https://example.com/icon.svg |
58 | | - packageManager: npm |
59 | | - packageName: preview-updater |
60 | | - packageGlobal: false |
61 | | - title: Preview Updater |
62 | | - description: Update preview banners automatically |
63 | | -
|
64 | | -repositories: |
65 | | - - name: preview-updater # репозиторий в owner |
66 | | - image: |
67 | | - packageManager: npm |
68 | | - packageName: preview-updater |
69 | | -
|
70 | | - - name: another-repo |
71 | | - owner: AnotherOrg # можно переопределить владельца |
72 | | - path: docs/README.md # и путь/ветку для конкретного репо |
73 | | - branch: develop |
74 | | - image: |
75 | | - theme: dark |
76 | | - canDark: false # использовать только один баннер |
77 | | - title: Another Repo |
78 | | - description: Custom preview banner |
79 | | -``` |
80 | | - |
81 | | -### Поля конфига |
82 | | - |
83 | | -- `owner`, `branch`, `path` — значения по умолчанию для всех репозиториев. |
84 | | -- `defaults` — общие параметры баннера (см. ниже); в `repositories[].image` можно переопределить любые из них. |
85 | | -- `repositories` — список целевых репозиториев с необязательными `owner`, `branch`, `path`, `image`. |
86 | | - |
87 | | -### Параметры баннера |
88 | | - |
89 | | -- `canDark` — генерировать второй баннер для тёмной темы. |
90 | | -- `host` — базовый URL генератора (по умолчанию https://banners.beyondco.de). |
91 | | -- `theme`, `pattern`, `style`, `fontSize`, `icon` — оформление баннера. |
92 | | -- `packageManager` (`composer` | `npm` | `yarn` | `pip` | `none`), `packageName`, `packageGlobal` — подсказки по установке. |
93 | | -- `title`, `description` — текст на баннере; при отсутствии `title` подставляется имя репозитория. |
94 | | - |
95 | | -## Inputs |
96 | | - |
97 | | -- `token` (обязательный) — токен с правами `contents: write` для целевых репозиториев. |
98 | | -- `config-path` — путь до файла конфигурации (по умолчанию `.github/preview.yml`). |
99 | | -- `commit-message` — сообщение коммита при обновлении (по умолчанию `docs: update preview banner`). |
100 | | - |
101 | | -## Требуемые permissions |
102 | | - |
103 | | -Экшену нужны права `contents: write` в репозиториях, где обновляется `README`. |
| 8 | +Lightweight preview update in your repository |
0 commit comments