1
Fork 0

Compare commits

..

5 Commits

Author SHA1 Message Date
Bauke 9cd91dc788
Fix XO issues. 2022-09-29 16:17:19 +02:00
Bauke 537c8c0f3e
Update dependencies. 2022-09-29 16:06:28 +02:00
Bauke 2e828eb087
Add Building and License sections to the readme. 2022-02-12 13:04:12 +01:00
Bauke cb2e5e9f17
Add the release date to releases. 2022-02-11 11:48:16 +01:00
Bauke 7129322105
Update dependencies. 2022-02-10 17:51:09 +01:00
7 changed files with 784 additions and 902 deletions

View File

@ -3,3 +3,30 @@
> https://href.plus > https://href.plus
* If you find a release that has a link which just shows the domain and not a proper name, please post it in [#5](https://github.com/Bauke/href-plus/issues/5). Thank you! * If you find a release that has a link which just shows the domain and not a proper name, please post it in [#5](https://github.com/Bauke/href-plus/issues/5). Thank you!
## Building
*Requires a recent version of [Node](https://nodejs.org) and [pnpm](https://pnpm.io).* In the command-line:
```sh
# Clone the repository.
git clone https://github.com/Bauke/href-plus.git
# Move into it.
cd href-plus
# Install the dependencies.
pnpm install
# Start a local development server.
pnpm start -- --open
# Build for production.
pnpm vite build --emptyOutDir
```
## License
This project is licensed under the [GPL-3.0-or-later](LICENSE) license.
Icons in [`source/assets/icons`](source/assets/icons) belong to their respective owners.

View File

@ -10,21 +10,21 @@
"deploy:netlify": "netlify deploy --prod -d 'public' -s 'href.plus'" "deploy:netlify": "netlify deploy --prod -d 'public' -s 'href.plus'"
}, },
"dependencies": { "dependencies": {
"@fontsource/inter": "^4.5.2", "@fontsource/inter": "^4.5.12",
"htm": "^3.1.0", "htm": "^3.1.1",
"modern-normalize": "^1.1.0", "modern-normalize": "^1.1.0",
"preact": "^10.6.5", "preact": "^10.11.0",
"preact-router": "^3.2.1" "preact-router": "^4.1.0"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "^17.0.14", "@types/node": "^18.7.23",
"postcss": "^8.4.6", "postcss": "^8.4.16",
"sass": "^1.49.7", "sass": "^1.55.0",
"stylelint": "^14.3.0", "stylelint": "^14.13.0",
"stylelint-config-standard-scss": "^3.0.0", "stylelint-config-standard-scss": "^5.0.0",
"typescript": "^4.5.5", "typescript": "^4.8.4",
"vite": "^2.7.13", "vite": "^3.1.4",
"xo": "^0.47.0" "xo": "^0.52.3"
}, },
"stylelint": { "stylelint": {
"extends": [ "extends": [
@ -36,6 +36,11 @@
}, },
"xo": { "xo": {
"prettier": true, "prettier": true,
"rules": {
"@typescript-eslint/consistent-type-definitions": "off",
"@typescript-eslint/consistent-type-imports": "off",
"n/file-extension-in-import": "off"
},
"space": true "space": true
} }
} }

File diff suppressed because it is too large Load Diff

View File

@ -63,3 +63,7 @@
margin-right: 1rem; margin-right: 1rem;
} }
} }
.release-date {
font-size: 80%;
}

View File

@ -66,6 +66,11 @@ export default class ReleasePage extends Component<Props, State> {
if (loading === 'finished' && release !== undefined) { if (loading === 'finished' && release !== undefined) {
document.title = release.display(); document.title = release.display();
const date =
release.date === undefined
? undefined
: html`<span class="release-date">${release.date}</span>`;
const image = const image =
release.image === undefined release.image === undefined
? undefined ? undefined
@ -117,6 +122,7 @@ export default class ReleasePage extends Component<Props, State> {
<header class="release-header"> <header class="release-header">
${image} ${image}
<h1>${release.artist}<br />${release.title}</h1> <h1>${release.artist}<br />${release.title}</h1>
${date}
</header> </header>
<main class="release-main"> <main class="release-main">

View File

@ -9,6 +9,7 @@ type ApiReleaseData = {
'cover-art-archive': { 'cover-art-archive': {
front: boolean; front: boolean;
}; };
date: string | undefined;
id: string; id: string;
relations: Array<{ relations: Array<{
ended: boolean; ended: boolean;
@ -23,6 +24,7 @@ type ApiReleaseData = {
// eslint-disable-next-line @typescript-eslint/naming-convention // eslint-disable-next-line @typescript-eslint/naming-convention
interface IRelease { interface IRelease {
artist: string; artist: string;
date: string | undefined;
image: string | undefined; image: string | undefined;
links: RelationLink[]; links: RelationLink[];
title: string; title: string;
@ -77,6 +79,7 @@ export default class Release {
return new Release({ return new Release({
artist, artist,
date: data.date,
image, image,
links, links,
title: data.title, title: data.title,

View File

@ -13,7 +13,7 @@ function gitRevParse(): string {
const revParse = childProcess.spawnSync( const revParse = childProcess.spawnSync(
'git', 'git',
['rev-parse', '--short', '--verify', 'main'], ['rev-parse', '--short', '--verify', 'main'],
{encoding: 'utf-8'}, {encoding: 'utf8'},
); );
if (revParse.error) { if (revParse.error) {