Skip to content

Commit 5098032

Browse files
authored
Add GitHub Pages site with SEO and project icon (#64)
* fix(ci): run lockfile fixer for reopened dependabot prs * ci(dependabot): auto-merge safe npm updates * docs(release): clarify branch migration and defaults * feat(site): add github pages landing with seo and icon * chore(meta): set project homepage to github pages url
1 parent 54b1b95 commit 5098032

8 files changed

Lines changed: 396 additions & 0 deletions

File tree

.github/workflows/pages.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: Deploy GitHub Pages
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
paths:
8+
- "site/**"
9+
- ".github/workflows/pages.yml"
10+
workflow_dispatch:
11+
12+
permissions:
13+
contents: read
14+
pages: write
15+
id-token: write
16+
17+
concurrency:
18+
group: pages
19+
cancel-in-progress: true
20+
21+
jobs:
22+
deploy:
23+
environment:
24+
name: github-pages
25+
url: ${{ steps.deployment.outputs.page_url }}
26+
runs-on: ubuntu-latest
27+
steps:
28+
- name: Checkout repository
29+
uses: actions/checkout@v4
30+
31+
- name: Setup Pages
32+
uses: actions/configure-pages@v5
33+
34+
- name: Upload Pages artifact
35+
uses: actions/upload-pages-artifact@v3
36+
with:
37+
path: ./site
38+
39+
- name: Deploy to GitHub Pages
40+
id: deployment
41+
uses: actions/deploy-pages@v4

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
".releaserc.json",
4747
"release.config.js"
4848
],
49+
"homepage": "https://oleg-koval.github.io/semantic-release-npm-github-publish/",
4950
"license": "MIT",
5051
"main": "release.config.js",
5152
"name": "semantic-release-npm-github-publish",

readme.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323

2424
> Opinionated `semantic-release` shareable configuration for npm + GitHub publishing with changelog generation and release commits.
2525
26+
Website: https://oleg-koval.github.io/semantic-release-npm-github-publish/
27+
2628
## About
2729

2830
This package is useful if you want one maintained preset instead of repeating the same `semantic-release` plugin composition in every repository.

site/assets/icon.svg

Lines changed: 13 additions & 0 deletions
Loading

site/index.html

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
<!doctype html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8" />
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
6+
<meta
7+
name="description"
8+
content="Opinionated semantic-release shareable config for npm and GitHub publishing with changelog generation and release commits."
9+
/>
10+
<meta
11+
name="keywords"
12+
content="semantic-release, npm publish, github release, conventional commits, changelog"
13+
/>
14+
<meta name="author" content="Oleg Koval" />
15+
<meta name="robots" content="index,follow" />
16+
<meta property="og:type" content="website" />
17+
<meta
18+
property="og:title"
19+
content="semantic-release-npm-github-publish | Semantic Release Preset"
20+
/>
21+
<meta
22+
property="og:description"
23+
content="One maintained semantic-release preset for npm + GitHub publishing, changelog updates, and release commits."
24+
/>
25+
<meta
26+
property="og:url"
27+
content="https://oleg-koval.github.io/semantic-release-npm-github-publish/"
28+
/>
29+
<meta
30+
property="og:image"
31+
content="https://oleg-koval.github.io/semantic-release-npm-github-publish/assets/icon.svg"
32+
/>
33+
<meta name="twitter:card" content="summary_large_image" />
34+
<meta
35+
name="twitter:title"
36+
content="semantic-release-npm-github-publish | Semantic Release Preset"
37+
/>
38+
<meta
39+
name="twitter:description"
40+
content="Opinionated semantic-release config for npm and GitHub publishing."
41+
/>
42+
<meta
43+
name="twitter:image"
44+
content="https://oleg-koval.github.io/semantic-release-npm-github-publish/assets/icon.svg"
45+
/>
46+
<link
47+
rel="canonical"
48+
href="https://oleg-koval.github.io/semantic-release-npm-github-publish/"
49+
/>
50+
<title>semantic-release-npm-github-publish</title>
51+
<link rel="icon" type="image/svg+xml" href="./assets/icon.svg" />
52+
<link rel="preconnect" href="https://fonts.googleapis.com" />
53+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
54+
<link
55+
href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=IBM+Plex+Mono:wght@400;500&display=swap"
56+
rel="stylesheet"
57+
/>
58+
<link rel="stylesheet" href="./styles.css" />
59+
<script type="application/ld+json">
60+
{
61+
"@context": "https://schema.org",
62+
"@type": "SoftwareSourceCode",
63+
"name": "semantic-release-npm-github-publish",
64+
"codeRepository": "https://github.com/oleg-koval/semantic-release-npm-github-publish",
65+
"programmingLanguage": "JavaScript",
66+
"license": "https://opensource.org/license/mit",
67+
"description": "Opinionated semantic-release shareable configuration for npm and GitHub publishing with changelog generation and release commits.",
68+
"url": "https://oleg-koval.github.io/semantic-release-npm-github-publish/"
69+
}
70+
</script>
71+
</head>
72+
<body>
73+
<main class="shell">
74+
<header class="hero">
75+
<img class="logo" src="./assets/icon.svg" alt="Package icon" width="88" height="88" />
76+
<p class="eyebrow">NPM PACKAGE</p>
77+
<h1>semantic-release-npm-github-publish</h1>
78+
<p class="lead">
79+
One maintained preset for semantic-release that publishes to npm and GitHub, updates your
80+
changelog, and commits the release artifacts.
81+
</p>
82+
<div class="cta-row">
83+
<a href="#install" class="btn btn-primary">Install</a>
84+
<a href="https://github.com/oleg-koval/semantic-release-npm-github-publish" class="btn"
85+
>Repository</a
86+
>
87+
</div>
88+
</header>
89+
90+
<section class="panel" id="install">
91+
<h2>Install</h2>
92+
<pre><code>npm install --save-dev \
93+
semantic-release \
94+
semantic-release-npm-github-publish \
95+
@semantic-release/changelog \
96+
@semantic-release/commit-analyzer \
97+
@semantic-release/git \
98+
@semantic-release/github \
99+
@semantic-release/npm \
100+
@semantic-release/release-notes-generator</code></pre>
101+
</section>
102+
103+
<section class="panel">
104+
<h2>Usage</h2>
105+
<pre><code>branches:
106+
- main
107+
extends: "semantic-release-npm-github-publish"
108+
ci: false
109+
dryRun: false
110+
debug: false</code></pre>
111+
</section>
112+
113+
<section class="grid">
114+
<article class="card">
115+
<h3>Plugin chain</h3>
116+
<p>
117+
commit-analyzer → release-notes-generator → changelog → npm → git → github
118+
</p>
119+
</article>
120+
<article class="card">
121+
<h3>SemVer mapping</h3>
122+
<p>
123+
<code>fix</code> = patch, <code>feat</code> = minor, <code>BREAKING CHANGE</code> or
124+
<code>!</code> = major.
125+
</p>
126+
</article>
127+
<article class="card">
128+
<h3>Extra patch rules</h3>
129+
<p>
130+
<code>build</code>, <code>ci</code>, <code>chore</code>, <code>docs</code>,
131+
<code>refactor</code>, <code>style</code>, and <code>test</code> release as patch.
132+
</p>
133+
</article>
134+
</section>
135+
136+
<footer class="footer">
137+
<a href="https://www.npmjs.com/package/semantic-release-npm-github-publish">npm</a>
138+
<span></span>
139+
<a href="https://github.com/oleg-koval/semantic-release-npm-github-publish">GitHub</a>
140+
</footer>
141+
</main>
142+
</body>
143+
</html>

site/robots.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
User-agent: *
2+
Allow: /
3+
4+
Sitemap: https://oleg-koval.github.io/semantic-release-npm-github-publish/sitemap.xml

site/sitemap.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
3+
<url>
4+
<loc>https://oleg-koval.github.io/semantic-release-npm-github-publish/</loc>
5+
<changefreq>weekly</changefreq>
6+
<priority>1.0</priority>
7+
</url>
8+
</urlset>

0 commit comments

Comments
 (0)