Giter VIP home page Giter VIP logo

nyantech.com's Introduction

This is a Next.js project bootstrapped with create-next-app.

Getting Started

First, run the development server:

npm run dev
# or
yarn dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying pages/index.js. The page auto-updates as you edit the file.

API routes can be accessed on http://localhost:3000/api/hello. This endpoint can be edited in pages/api/hello.js.

The pages/api directory is mapped to /api/*. Files in this directory are treated as API routes instead of React pages.

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.

nyantech.com's People

Contributors

atis9 avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar

nyantech.com's Issues

CSS フレームワークの導入

やりたい事柄

CSS フレームワークの導入。

やりたい理由

サイトの見た目の一貫性と保守の簡易化のため。

サイト情報の整備

やりたい事柄

  • OGP 画像の変更
  • favicon の変更
  • サイトタイトルの変更
  • その他 meta データの変更など

やりたい理由

  • サイト運用のため

パディングのミス

<li class="ActionList-item p-2"> となっているせいで、パディング部分をクリックしてもリンク先に遷移しない。
リンク用のタグを修正する必要がある。

.md ファイル名の制約がない

やりたい事柄

md ファイル名に制約をかける。
e.g.) /(\w|-)+\.md/ に制限する。

やりたい理由

posts/*.md のファイル名が任意で設定できるようになっている。

ファイル名が id とされる仕様上、下記の行で id とディレクトリパスを結合している処理でディレクトリトラバーサルが可能になる。

const fullPath: string = path.join(postsDirectory, `${id}.md`)

next export ができない

バグについての説明
next export ができない

再現するために
動作を再現するための手順:

  1. yarn next build && yarn next export

期待される動作
/out に出力されること

補足説明

❯ yarn next export
yarn run v1.22.18
$ /home/atis/repositories/nyantech.com/node_modules/.bin/next export
info  - using build directory: /home/atis/repositories/nyantech.com/.next
info  - Copying "static build" directory
info  - No "exportPathMap" found in "/home/atis/repositories/nyantech.com/next.config.js". Generating map from "./pages"Error: Image Optimization using Next.js' default loader is not compatible with `next export`.
  Possible solutions:
    - Use `next start` to run a server, which includes the Image Optimization API.
    - Use any provider which supports Image Optimization (like Vercel).
    - Configure a third-party loader in `next.config.js`.
    - Use the `loader` prop for `next/image`.
  Read more: https://nextjs.org/docs/messages/export-image-api
    at /home/atis/repositories/nyantech.com/node_modules/next/dist/export/index.js:156:23
    at async Span.traceAsyncFn (/home/atis/repositories/nyantech.com/node_modules/next/dist/trace/trace.js:79:20)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

blog を別ドメインに分離する

機能リクエストは何かしらの問題に関連するものか?
今は blog 機能しか無いが、将来的な拡張性のために nyantech.com, blog.nyantech.com のように分離したい。

希望の解決策についての説明
monorepo (yarn workspace) を用いて分離する。
Vercel との親和性もよいと思われる。(補足資料を参考のこと)

検討した代替案についての説明
マイクロサービスとしてリポジトリごと分離してもよいが、巨大なモノリスアプリというわけではないため、
今回は共通化しつつ 1 リポジトリ構成としたい。

補足説明
Vercelでmonorepo構成で管理しているサイトをホスティングしてみる | DevelopersIO

dependencies の整理

型情報は devDependencies でよい。

    "@types/highlight.js": "^10.1.0",
    "@types/marked": "^4.0.3",

テストコードがない

やりたい事柄

  • テストコードを追加したい

やりたい理由

  • 安定性向上のため
  • 学習のため

Issue Template の作成

#44 と同様に毎回書くのが面倒なのと表記ゆれするので(今も適当)。
とりあえず Enhancement と bug のテンプレートがあればいいと思う。

記事のデザイン案

機能リクエストは何かしらの問題に関連するものか?
記事の読みやすさ。

希望の解決策についての説明

  • フォントサイズを大きくする。
    • かつ、フォントサイズの指定を rem 指定にする。
  • 記事の背景に色を付けて、テキストエリアとそれ以外を明確に区別する。

色付けのイメージ
image

/lib/posts.ts のリファクタ

やりたい事柄

/lib/posts.ts の機能のリファクタ

  • PostData 作成の共通化
  • 命名が冗長なのを修正
    • PostDataData いらないよね
  • PostSummary の作成
    • contentHtml がいらない場合に利用したい

やりたい理由

  • 今後の開発効率の効率化のため
  • 学習のため

Prettier の役割を ESLint に統合したい

やりたい事柄

Prettier の役割を ESLint に統合したい。

やりたい理由

  • 役割とできることが被っているのに設定が別なので扱いにくい
  • GitHub Actions で ESLint の CI を行いたい

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.