Skip to content

Commit

Permalink
refactor: new biome formatting and linting
Browse files Browse the repository at this point in the history
  • Loading branch information
uncenter committed May 28, 2024
1 parent 963a705 commit cfa72a5
Show file tree
Hide file tree
Showing 21 changed files with 64 additions and 78 deletions.
2 changes: 2 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
{
"prettier.enable": false,
"biome.enabled": true,
"css.customData": [".vscode/tailwind.json"]
}
6 changes: 2 additions & 4 deletions config/11ty/filters.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { DateTime } from 'luxon';
import urlize from '../urlize.js';
import stringify from '../json-pretty-stringify.js';
import urlize from '../urlize.js';

const toShortDate = (dateObject) => {
// 10/14/1983
Expand All @@ -9,9 +9,7 @@ const toShortDate = (dateObject) => {

const toMedDate = (dateObject) => {
// Oct 14, 1983
return DateTime.fromISO(dateObject, { zone: 'utc' }).toFormat(
'MMM dd, yyyy',
);
return DateTime.fromISO(dateObject, { zone: 'utc' }).toFormat('MMM dd, yyyy');
};

const toFullDate = (dateObject) => {
Expand Down
9 changes: 4 additions & 5 deletions config/11ty/shortcodes.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import path from 'node:path';
import escape from 'lodash.escape';
import dimensions from 'image-size';
import image from '@11ty/eleventy-img';
import dimensions from 'image-size';
// biome-ignore lint/suspicious/noShadowRestrictedNames: Eh escape sounds better.
import escape from 'lodash.escape';

const IMAGE_OPTIMIZATION =
process.env.IMAGE_OPTIMIZATION === '0' ||
Expand Down Expand Up @@ -42,9 +43,7 @@ const insertImage = async function (source, alt) {
const sources = Object.values(data)
.map((formatEntries) => {
const { sourceType } = formatEntries[0];
const srcset = formatEntries
.map((image) => image.srcset)
.join(', ');
const srcset = formatEntries.map((image) => image.srcset).join(', ');

return `<source ${stringifyAttributes({
type: sourceType,
Expand Down
2 changes: 1 addition & 1 deletion config/json-pretty-stringify.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
export default function (input, space) {
return JSON.stringify(
input,
function (k, v) {
function (_k, v) {
if (Array.isArray(v)) {
let children = '';

Expand Down
2 changes: 1 addition & 1 deletion config/markdown/code-toolbar.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import crypto from 'node:crypto';
import { parseHTML } from 'linkedom';
import html from 'nanohtml';
import raw from 'nanohtml/lib/raw-server.js';
import { parseHTML } from 'linkedom';

const ICON_COPY = `<svg class="copy" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path></svg>`;
const ICON_LINK = `<svg class="link" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg>`;
Expand Down
10 changes: 5 additions & 5 deletions config/markdown/core.js
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
import markdownItShiki from '@shikijs/markdown-it';
import markdownIt from 'markdown-it';
import markdownItAnchor from 'markdown-it-anchor';
import markdownItAttrs from 'markdown-it-attrs';
import markdownItContainer from 'markdown-it-container';
import { full as markdownItEmoji } from 'markdown-it-emoji';
import markdownItFootnote from 'markdown-it-footnote';
import markdownItKbd from 'markdown-it-kbd-better';
import { full as markdownItEmoji } from 'markdown-it-emoji';
import markdownItSub from 'markdown-it-sub';
import markdownItSup from 'markdown-it-sup';
import markdownItContainer from 'markdown-it-container';
import markdownItShiki from '@shikijs/markdown-it';

import codeToolbarPlugin from './code-toolbar.js';

import {
transformerMetaHighlight,
transformerNotationDiff,
transformerNotationErrorLevel,
transformerNotationFocus,
transformerNotationHighlight,
transformerNotationErrorLevel,
transformerMetaHighlight,
} from '@shikijs/transformers';

const markdownLibrary = markdownIt({
Expand Down
2 changes: 1 addition & 1 deletion config/transforms/css.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { transform, browserslistToTargets } from 'lightningcss';
import browserslist from 'browserslist';
import { browserslistToTargets, transform } from 'lightningcss';
import postcss from 'postcss';
import * as sass from 'sass';

Expand Down
2 changes: 1 addition & 1 deletion config/umami.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ async function validateToken(token) {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${token}`,
Authorization: `Bearer ${token}`,
},
});

Expand Down
10 changes: 4 additions & 6 deletions eleventy.config.js
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
import { collections, filters, shortcodes } from './config/11ty/index.js';

import pluginTOC from '@uncenter/eleventy-plugin-toc';
import pluginExternalLinks from '@aloskutov/eleventy-plugin-external-links';
import pluginRSS from '@ryanccn/eleventy-plugin-rss';
import pluginTOC from '@uncenter/eleventy-plugin-toc';
import pluginIcons from 'eleventy-plugin-icons';
import pluginValidate from 'eleventy-plugin-validate';

import markdownLibrary from './config/markdown/core.js';

import {
processTailwindCss,
processCss,
processSass,
processTailwindCss,
} from './config/transforms/css.js';
import { minifyHtml } from './config/transforms/html.js';

Expand All @@ -20,8 +20,8 @@ import { z } from 'zod';
import 'dotenv/config';
const isDevelopment = process.env.NODE_ENV !== 'production';

import site from './site.config.js';
import colors from 'picocolors';
import site from './site.config.js';

import eleventy from '11ty.ts';

Expand Down Expand Up @@ -112,9 +112,7 @@ export default eleventy(function (eleventyConfig) {
eleventyConfig.on('eleventy.after', async ({ runMode }) => {
if (runMode === 'serve') {
if (notFirstRun)
console.log(
colors.blue('\n[11ty] Server at http://localhost:8080/\n'),
);
console.log(colors.blue('\n[11ty] Server at http://localhost:8080/\n'));
notFirstRun = true;
}
});
Expand Down
8 changes: 3 additions & 5 deletions functions/index.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
import type { EventContext } from '@cloudflare/workers-types';
import stringify from '../config/json-pretty-stringify.js';
import whoami from '../src/_data/whoami.js';

// @ts-expect-error
export async function onRequest(context: EventContext): PagesFunction {
export async function onRequest(context: EventContext): Promise<Response> {
const { next, request } = context as {
next: (
input?: Request | string,
init?: RequestInit,
) => Promise<Response>;
next: (input?: Request | string, init?: RequestInit) => Promise<Response>;
request: Request;
};

Expand Down
20 changes: 13 additions & 7 deletions functions/pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion src/_data/inlined.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { readFile, readdir } from 'node:fs/promises';
import path from 'node:path';
import { minifyJavascript } from '../../config/transforms/javascript.js';
import { processCss } from '../../config/transforms/css.js';
import { minifyJavascript } from '../../config/transforms/javascript.js';

const SCRIPTS_PATH = './src/assets/scripts/';
const STYLES_PATH = './src/assets/styles/';
Expand Down
2 changes: 0 additions & 2 deletions src/_data/rev.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
/* eslint-disable capitalized-comments */

// From https://github.com/ryanccn/ryanccn.dev/blob/827b12321ea7d606593d2d2a3cfabe8e9a5bc7b3/src/_data/gitRev.js.

// MIT License
Expand Down
9 changes: 4 additions & 5 deletions src/_data/uses.js
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ const schema = z.record(
/** @type {z.infer<typeof schema>} */
const data = {
Apps: {
'General': [
General: [
{
name: '1Password',
url: 'https://1password.com/',
Expand Down Expand Up @@ -78,7 +78,7 @@ const data = {
tags: ['freemium'],
},
],
'Development': [
Development: [
{
name: 'Visual Studio Code',
url: 'https://code.visualstudio.com/',
Expand All @@ -99,7 +99,7 @@ const data = {
tags: ['paid'],
},
],
'Utilities': [
Utilities: [
{
name: 'Hyperduck',
url: 'https://sindresorhus.com/hyperduck',
Expand Down Expand Up @@ -147,8 +147,7 @@ const data = {
{
name: 'MediaMate',
url: 'https://wouter01.github.io/MediaMate/',
description:
'for modern, iOS-like volume and brightness controls',
description: 'for modern, iOS-like volume and brightness controls',
tags: ['paid'],
},
],
Expand Down
4 changes: 1 addition & 3 deletions src/assets/scripts/code-toolbar.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,7 @@ for (const codeBlock of document.querySelectorAll('div.code-block')) {
const linkIcon = copyLinkButton.querySelector('svg.link');
const checkIcon = copyLinkButton.querySelector('svg.check');
const codeUrl =
window.location.href.split('#')[0] +
'#' +
codeBlock.getAttribute('id');
window.location.href.split('#')[0] + '#' + codeBlock.getAttribute('id');
window.location.href = codeUrl;
await navigator.clipboard.writeText(codeUrl);

Expand Down
10 changes: 6 additions & 4 deletions src/assets/scripts/giscus.js
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
function loadGiscus() {
if (!document.querySelector('#comments')) return;
let attributes = {
'src': 'https://giscus.app/client.js',
src: 'https://giscus.app/client.js',
'data-repo': site.repository,
'data-repo-id': 'R_kgDOHSjhjQ',
'data-category-id': 'DIC_kwDOHSjhjc4CTQUr',
'data-mapping': 'title',
'data-reactions-enabled': '1',
'data-emit-metadata': '0',
'data-input-position': 'top',
'data-theme': `https://giscus.catppuccin.com/themes/${document.documentElement.getAttribute('theme')}.css`,
'data-theme': `https://giscus.catppuccin.com/themes/${document.documentElement.getAttribute(
'theme',
)}.css`,
'data-lang': 'en',
'crossorigin': 'anonymous',
'async': '',
crossorigin: 'anonymous',
async: '',
};
let script = document.createElement('script');
Object.entries(attributes).forEach(([key, value]) =>
Expand Down
4 changes: 1 addition & 3 deletions src/assets/scripts/theme-init.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,7 @@ function setMetaThemeColor() {
meta &&
meta.setAttribute(
'content',
getComputedStyle(document.documentElement).getPropertyValue(
`--base`,
),
getComputedStyle(document.documentElement).getPropertyValue(`--base`),
);
}

Expand Down
2 changes: 0 additions & 2 deletions src/generated/feed.json.11ty.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
/* eslint-disable capitalized-comments */

// Inspired by https://github.com/ryanccn/ryanccn.dev/blob/main/src/generated/feed.json.11ty.js.

// MIT License
Expand Down
8 changes: 4 additions & 4 deletions src/generated/sitemap.xml.11ty.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@ class Page {
<?xml version="1.0" encoding="utf-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
${data.collections.all
.map((page) =>
`
.map((page) =>
`
<url>
<loc>${urlize(page.url)}</loc>
<lastmod>${page.date.toISOString()}</lastmod>
</url>`.replaceAll(/^\n/g, ''),
)
.join('\n')}
)
.join('\n')}
</urlset>
`.trimStart();
}
Expand Down
13 changes: 4 additions & 9 deletions src/posts/posts.11tydata.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,20 +12,15 @@ export default {
return getViewsForPage(data.page.url, data.page.date);
},
date: (data) => {
return DateTime.fromJSDate(new Date(data.date))
.setZone('utc')
.toISO();
return DateTime.fromJSDate(new Date(data.date)).setZone('utc').toISO();
},
edited: (data) => {
return data.edited
? DateTime.fromJSDate(
new Date(
DateTime.fromISO(
new Date(data.edited).toISOString(),
{
zone: 'utc',
},
),
DateTime.fromISO(new Date(data.edited).toISOString(), {
zone: 'utc',
}),
),
)
.setZone('utc')
Expand Down
15 changes: 6 additions & 9 deletions tailwind.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,19 @@ export default {
content: ['./src/**/*.{11ty.js,js,md,njk}'],
theme: {
fontSize: {
'xs': '0.875rem',
'sm': '1rem',
'base': '1.125rem',
'lg': '1.25rem',
'xl': '1.5rem',
xs: '0.875rem',
sm: '1rem',
base: '1.125rem',
lg: '1.25rem',
xl: '1.5rem',
'2xl': '1.875rem',
'3xl': '2.25rem',
'4xl': '3rem',
'5xl': '3.75rem',
},
extend: {
colors: Object.fromEntries(
flavors.latte.colorEntries.map(([name]) => [
name,
`var(--${name})`,
]),
flavors.latte.colorEntries.map(([name]) => [name, `var(--${name})`]),
),
fontFamily: {
display: ['"General Sans"', ...defaultTheme.fontFamily.sans],
Expand Down

0 comments on commit cfa72a5

Please sign in to comment.