Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migration (failed) #6

Merged
merged 6 commits into from
Jul 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@ insert_final_newline = true
indent_style = space
trim_trailing_whitespace = true

[{*.md, *.mdx}]
[{*.md,*.mdx,*.yaml,*.yml,*.js,*.mjs,*.cjs,*.ts,*.astro,*.svelte}]
indent_size = 2
trim_trailing_whitespace = false

[{*.yaml, *.yml}]
indent_size = 2
[{.prettierrc,*.json}]
indent_size = 4

[{*.json, .prettierrc}]
indent_size = 4
[{*.sass,*.scss,*.styl}]
indent_size = 2
3 changes: 1 addition & 2 deletions .github/workflows/github-pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,7 @@ jobs:
- name: Install and Build
uses: withastro/action@v2
with:
node-version: 20
package-manager: pnpm@latest
package-manager: bun@latest

deploy:
needs: build
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.git/*
.astro
.dist/*
dist/*
node_modules/*
.env
*.css.map
Expand Down
1 change: 1 addition & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
*.md
*.mdx
*.json
19 changes: 14 additions & 5 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

{
"printWidth": 120,
"useTabs": false,
Expand All @@ -7,13 +6,23 @@
"semi": true,
"endOfLine": "lf",
"options.editorconfig": true,
"plugins": [
"prettier-plugin-astro",
"prettier-plugin-svelte",
"prettier-plugin-stylus"
],
"overrides": [
{
"files": [".prettierrc", "*.json"],
"files": ["*.astro"],
"options": {
"parser": "json",
"tabWidth": 4
"parser": "astro"
}
},
{
"files": ["*.styl", "*.sass"],
"options": {
"trailingComma": "all"
}
}
]
}
}
3 changes: 0 additions & 3 deletions .stackblitzrc

This file was deleted.

14 changes: 11 additions & 3 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,16 @@
{
"recommendations": [
"editorconfig.editorconfig",
"astro-build.astro-vscode",
"esbenp.prettier-vscode",
"biomejs.biome",
"syler.sass-indented",
"unifiedjs.vscode-mdx",
"svelte.svelte-vscode",
"dbaeumer.vscode-eslint",
"davidanson.vscode-markdownlint",
"bierner.markdown-emoji",
"usernamehw.errorlens",
"editorconfig.editorconfig"
"stylelint.vscode-stylelint",
"sysoev.language-stylus",
"antfu.unocss"
]
}
25 changes: 25 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"version": "0.2.0",
"configurations": [
// English: https://docs.astro.build/en/reference/cli-reference
// 日本語: https://docs.astro.build/ja/reference/cli-reference
{
"name": "Launch development server",
"type": "node-terminal",
"request": "launch",
"command": "pnpm dev"
},
{
"name": "Build website",
"type": "node-terminal",
"request": "launch",
"command": "pnpm build"
},
{
"name": "Preview website",
"type": "node-terminal",
"request": "launch",
"command": "pnpm preview"
}
]
}
36 changes: 22 additions & 14 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,25 +1,33 @@
{
// Editor
"editor.fontFamily": "'Fira Code', 'HackGen35 Console NFJ', monospace",
"editor.fontLigatures": true,
"editor.insertSpaces": true,
// Extensions
"prettier.configPath": "./.prettierrc",
"prettier.ignorePath": "./.prettierignore",
"stylelint.customSyntax": "stylelint-stylus/custom-syntax",
"stylelint.validate": ["astro"],
// File
"[astro]": {
"editor.tabSize": 2
"editor.defaultFormatter": "esbenp.prettier-vscode",
"[json]": {
"editor.defaultFormatter": "biomejs.biome"
},
"[jsonc]": {
"editor.defaultFormatter": "biomejs.biome"
},
"[javascript]": {
"editor.defaultFormatter": "biomejs.biome"
},
"[typescript]": {
"editor.tabSize": 2
"editor.defaultFormatter": "biomejs.biome"
},
"[stylus]": {
"editor.tabSize": 2
"[javascriptreact]": {
"editor.defaultFormatter": "biomejs.biome"
},
"[json]": {
"editor.tabSize": 4
"[typescriptreact]": {
"editor.defaultFormatter": "biomejs.biome"
},
"[markdown]": {
"editor.defaultFormatter": "DavidAnson.vscode-markdownlint"
},
"prettier.configPath": "./.prettierrc",
"prettier.ignorePath": "./.prettierignore",
"stylelint.validate": ["css", "sass", "postcss", "stylus", "styl"],
"stylelint.packageManager": "pnpm",
"markdownlint.run": "onSave",
"workbench.editor.enablePreview": false
}
158 changes: 150 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,154 @@
# Anysome

カテゴリ問わずのAwesomeリスト
ジャンルを問わないAwesomeリスト

## List
## Why Anysome?

<<<<<<< HEAD
- [Android Apps](categories/android-apps.md)
=======
- [Android Apps](src/pages/list/android-app.md)
- [Frontend](src/pages/list/frontend.md)
>>>>>>> 7ef2cfe00cf8dd6ebfe8edca585f3b28e373b260
[Awesomeリスト](https://github.com/sindresorhus/awesome)を知っていますか?
カテゴリー別でAwesomeなアプリやツールをリスト化しているリポジトリで、
Awesomeは「素晴らしい」「最高」という意味を持っています。

しかし、Awesomeは単純であるが故にいくつかの問題があります。

<!-- -->
- リポジトリやカテゴリーが多すぎて網羅できない
- 探しにくい
- 簡潔すぎる概要
- 終わったプロジェクトが記載されていて、その旨が書かれていない
<!-- -->

Anysomeはこれらの問題を解決するために作られました。

<!-- -->
- 解説ページの作成
- 多言語化に対応
- 検索機能 (解説ページやその他テキスト)
- タグ機能
- 並び替え
- 表示の変更
- 項目のメタデータ追加
<!-- -->

## 技術選定・ツール

Anysomeには大量のライブラリやツールを使用しています。
全てを導入する必要はありませんし、ほとんどはパッケージのインストールと共に導入できます。
VSCodeを使っていれば、拡張機能を自動でインストールできます。

### 言語・フレームワーク

<!-- -->
- [Node.js](https://nodejs.org/en)
JavaScriptの実行環境。npmやyarn、pnpmを使用するなら必須。
- [TypeScript](https://www.typescriptlang.org/)
JavaScriptの上位互換であり、型を持つ。
- [pnpm](https://pnpm.io/ja/)
ストレージにやさしく、高速で、npmやyarnよりも厳格なパッケージマネージャー。
bunの方が高速だが、一部の開発支援ツールはbunに対応していない。
- [Astro](https://astro.build/)
- [Astro (VSCode)](https://marketplace.visualstudio.com/items?itemName=astro-build.astro-vscode)
- [Astro (Open VSX)](https://open-vsx.org/extension/astro-build/astro-vscode)
SSGで右に出る者無し。特定のUIフレームワークに縛られる必要もない。
裏でViteを使用していて、Viteの機能を利用できる。
- [Svelte](https://svelte.jp/)
- [Svelte (VSCode)](https://marketplace.visualstudio.com/items?itemName=svelte.svelte-vscode)
- [Svelte (Open VSX)](https://open-vsx.org/extension/svelte/svelte-vscode)
バンドルサイズが3KB以下。構文はReactよりシンプルでAstroの構文と近い。
- [MDX](https://mdxjs.com/)
- [MDX (VSCode)](https://marketplace.visualstudio.com/items?itemName=unifiedjs.vscode-mdx)
- [MDX (Open VSX)](https://open-vsx.org/extension/unifiedjs/vscode-mdx)
Markdown内でJSXのようなコンポーネントを使える言語。タグ内でもMarkdownの構文は使える。
- [UnoCSS](https://unocss.dev/)
- [UnoCSS (VSCode)](https://marketplace.visualstudio.com/items?itemName=antfu.unocss)
- [UnoCSS (Open VSX)](https://open-vsx.org/extension/antfu/unocss)
TailwindCSSとある程度互換性があって、リセットCSSが強制的につかない。
- [SASS](https://sass-lang.com/)
- [SASS (VSCode)](https://marketplace.visualstudio.com/items?itemName=Syler.sass-indented)
- [SASS (Open VSX)](https://open-vsx.org/extension/syler/sass-indented)
セミコロンや波括弧を省略する構文が特徴的で楽。
- [Stylus](https://stylus-lang.com/)
- [Stylus (VSCode)](https://marketplace.visualstudio.com/items?itemName=sysoev.language-stylus)
SASSの基本的な構文と互換性があり、様々な書き方ができる自由な構文を持つ。
<!-- -->

### ツール

<!-- -->
- [Fontsource](https://fontsource.org/)
フォントを外部から読み込まない。フォントの最適化が楽。
- [Iconify](https://iconify.design/)
- [Astro Icon](https://www.astroicon.dev/)
コンポーネントとして呼び出すだけで使えるし、キャッシュや最適化が自動。
- [Autoprefixer](https://github.com/postcss/autoprefixer)
生成されるCSSにベンダープレフィックスを自動で追加する。
- [PostCSS Preset Env](https://github.com/csstools/postcss-plugins/tree/main/plugin-packs/postcss-preset-env)
CSSの新機能を難なく使えるようにする(実装されていなくても)。
- [Pagefind](https://pagefind.app/)
JSのみで検索機能を実装する。WASMがRustで書かれているので速いし、バンドルサイズも大きくない。
- [Giscus](https://giscus.app/ja)
GitHub Discussionsをコメント画面として追加する。すべてをGitHubに依存できる。
<!-- -->

### 開発環境・開発支援ツール

<!-- -->
- [VSCode](https://code.visualstudio.com/)
- [VSCodium](https://vscodium.com/)
オープンソースでクロスプラットフォーム対応のIDE。Astroが推奨している。
StackBlitzやProject IDXと互換性がある。
- [EditorConfig](https://editorconfig.org/)
- [EditorConfig (VSCode)](https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig)
- [EditorConfig (Open VSX)](https://open-vsx.org/extension/EditorConfig/EditorConfig)
書式の設定などの共通化を行う。対応しているエディターが多い。
- [Prettier](https://prettier.io/)
- [Prettier (VSCode)](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)
- [Prettier (Open VSX)](https://open-vsx.org/extension/esbenp/prettier-vscode)
フロントエンドの言語に多く対応しているフォーマッタ。
AstroやSvelte、Stylusにも対応している。
- [Biome](https://biomejs.dev/ja/)
- [Biome (VSCode)](https://marketplace.visualstudio.com/items?itemName=biomejs.biome)
- [Biome (Open VSX)](https://open-vsx.org/extension/biomejs/biome)
TypeScriptやTSXに対応しているフォーマッタ。Rustで書かれていて高速。
Linterとしても機能する。
- [ESLint](https://eslint.org/)
- [typescript-eslint](https://typescript-eslint.io/)
- [ESLint (VSCode)](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)
- [ESLint (Open VSX)](https://open-vsx.org/extension/dbaeumer/vscode-eslint)
TypeScript用のLinter。AstroやSvelteに対応させることができる。
- [Stylelint](https://stylelint.io/)
- [Stylelint (VSCode)](https://marketplace.visualstudio.com/items?itemName=stylelint.vscode-stylelint)
- [Stylelint (Open VSX)](https://open-vsx.org/extension/stylelint/vscode-stylelint)
CSS用のLinter。SASSやStylusに対応させることができる。
- [markdownlint (VSCode)](https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint)
- [markdownlint (Open VSX)](https://open-vsx.org/extension/DavidAnson/vscode-markdownlint)
markdownlintそのものの拡張機能。markdownlintはNode.jsにインストールされることなく、VSCode上でのみ動く。
- [Vitest](https://vitest.dev/)
TypeScriptに対応した単体テストツール。Viteと相性が良さそう。
- [Playwright](https://playwright.dev/)
ブラウザ対応チェックに使えるE2Eテスト用のツール。Cypressより速い。
- [Lefthook](https://github.com/evilmartians/lefthook)
Gitコマンドの実行時にCIを挟んで事前にチェックを行えるツール。
Huskyとlint-stagedを網羅していて、なおかつ速い。
<!-- -->

### 推奨ツール

<!-- -->
- [Starship](https://starship.rs/ja-jp/)
クソみたいなプロンプトを劇的に改善する。Rustで書かれているので高速。
- [fnm](https://github.com/Schniz/fnm)
Node.jsのバージョンマネージャー。一部のOSで導入が難しいが、使い勝手は良い。
Rustで書かれているので高速。
- [Pretty TypeScript Errors (VSCode)](https://marketplace.visualstudio.com/items?itemName=yoavbls.pretty-ts-errors)
- [Pretty TypeScript Errors (Open VSX)](https://open-vsx.org/extension/yoavbls/pretty-ts-errors)
TypeScriptのエラー表示を改善する拡張機能。
- [Path Intellisense (VSCode)](https://marketplace.visualstudio.com/items?itemName=christian-kohler.path-intellisense)
- [Path Intellisense (Open VSX)](https://open-vsx.org/extension/christian-kohler/path-intellisense)
パスの入力に候補を表示する拡張機能。
- [indent-rainbow (VSCode)](https://marketplace.visualstudio.com/items?itemName=oderwat.indent-rainbow)
- [indent-rainbow (Open VSX)](https://open-vsx.org/extension/oderwat/indent-rainbow)
インデントごとに強調したハイライトを追加する拡張機能。
- [Error Lens (VSCode)](https://marketplace.visualstudio.com/items?itemName=usernamehw.errorlens)
- [Error Lens (Open VSX)](https://open-vsx.org/extension/usernamehw/errorlens)
エラーの行をハイライトする拡張機能。
<!-- -->
33 changes: 17 additions & 16 deletions astro.config.ts
Original file line number Diff line number Diff line change
@@ -1,21 +1,22 @@
import { defineConfig } from "astro/config";
import path from "node:path";

// import path from "path";
// import path from 'node:path'
import icon from "astro-icon";

import UnoCSS from "unocss/astro";
import mdx from "@astrojs/mdx";
import svelte from "@astrojs/svelte";

// https://astro.build/config
export default defineConfig({
// vite: {
// css: {
// preprocessorOptions: {
// sass: {
// additionalData: '\n@use "@/styles/api.sass" as api\n',
// },
// },
// },
// resolve: {
// alias: {
// "@": path.resolve(__dirname, "src"),
// },
// },
// },
site: "https://7rs.github.io",
base: "/anysome",
integrations: [icon(), UnoCSS(), mdx(), svelte()],
vite: {
resolve: {
alias: {
"@scripts": path.resolve("./scripts"),
},
},
},
});
Loading