Giter Club home page Giter Club logo

taichi221228's Introduction

Taichi221228 ⚑

Capture of top page

Welcome! This repository serves as the home for my portfolio site, taichi221228, a living document of my journey and growth in the tech world. Here, I showcase my technical articles, projects, and the evolving story of my professional development. Explore my world of coding, learning, and creative solutions!


Note 🚧

This repository is still a work in progress. Some sections may be incomplete as I continue to develop and update the content. Thank you for your understanding!

Structure

This project is using Qwik with QwikCity. QwikCity is an extra set of tools on top of Qwik that enhances the ease of building a full site, including directory-based routing, layouts, and more.

Inside your project, you’ll see the following directory structure:

β”œβ”€β”€ public/
β”‚   └── ...
└── src/
    β”œβ”€β”€ components/
    β”‚   └── ...
    └── routes/
        └── ...
  • src/routes: Provides the directory-based routing, which can include a hierarchy of layout.tsx layout files, and an index.tsx file as the page. Additionally, index.ts files are endpoints. Please see the routing docs for more info.

  • src/components: Recommended directory for components.

  • public: Any static assets, like images, can be placed in the public directory. Please see the Vite public directory for more info.

Stack

Core

UI

Middleware

Content

  • Markdown 🚧
  • Zenn / Qiita / Dev.to 🚧

Styling

Performance

Tooling

Quality

Testing

Hosting

Design

Development

Development mode uses Vite’s development server. The dev command will server-side render (SSR) the output during development.

bun start # or `npm start`

Note: during dev mode, Vite may request a significant number of .js files. This does not represent a Qwik production build.

Preview

The preview command will create a production build of the client modules, a production build of src/entry.preview.tsx, and run a local server. The preview server is only for convenience to preview a production build locally and should not be used as a production server.

bun preview # or `npm run preview`

Production

The production build will generate client and server modules by running both client and server build commands. The build command will use Typescript to run a type check on the source code.

bun build # or `npm run build`

Acknowledgements

Extraordinary thanks to the Figma community for the design inspiration. This portfolio site was crafted using the design concept from Portfolio for Developers Concept V.2. I am grateful for the opportunity to utilize such a creative and well-thought-out design framework, which has greatly enhanced the presentation of my work.

taichi221228's People

Contributors

taichi221228 avatar

Watchers

 avatar

taichi221228's Issues

chore: Fix ESLint import order

module.exports = {
  // ...
  pathGroups: [
    {
      group: "internal",
      pattern: "~/constants",
    },
    {
      group: "internal",
      pattern: "~/routes",
    },
    {
      group: "internal",
      pattern: "~/components",
    },
    {
      group: "internal",
      pattern: "~/hooks",
    },
  ],
  // ...
};

As above, the import order should be constants β†’ components.

import { Game } from "~/components/ui/game/game";
import { NAME, SNS, TITLE } from "~/constants/info";

The import statement in index.tsx does not follow this pattern.

chore: Place restrictions on `import`

Current JS does not allow fine-grained control over import and export.

I want to limit the file scope that can be import.

I think it might be possible with ESLint.

refactor: Stop destructuring

Qwik uses class instead of className, so if you pass class to Prop and perform Destructuring, a syntax error will occur in JSX.

refactor: Rethink directory design

I may need to rethink the naming of some directories.

  • functional: function can mean many different things depending on the context, which can be confusing. Also, I think directory names should be nouns.

chore: Migrate from CSS Modules to Panda CSS

This problem is caused by the "vite-plugin-macro" that is automatically installed during integration, but after a quick check, I think it is possible that it will work without this plugin in the first place.

related: Qwik #5837

feat: Add `<Code />`

Related to #14.

  • I will need to become familiar with Shiki's API, as implementation methods may change.
  • I will need to design about comment styles (block and inline).

feat: Add "My own Contribution Graph"

I want to display GitHub's Contribution Graph.
In addition, I think it would be good to be able to visualize personal scores such as workouts and blog update frequency in the same format.

  • GitHub

  • Workout

  • Blog post

  • I need to design

feat: Add theming

  • I need to think about the UI.

It is desirable to have both Light and Dark if possible.

  • Solarized
  • Gruvbox
  • Ayu
  • Dracula

fix: Fix the transition animation of `<Header />`

I need to fix the transition animation of <Header />.

No transition animation is applied on exit.

I think this is because the tag itself changes from <a /> to <span /> when the screen transitions.

However, since it has changed from the route, it is necessary to check whether it is a SPA or not.

refactor: Stop using `<Link />`

<Link /> is not accessible.
When transitioning using the keyboard, Focus does not disappear even if TabIndex is set to -1.
Using useVisibleTask$() to remove Focus is also not smart.

However, if I change the element itself, the animation doesn't work.

  • Page transition animation
  • transition exit

needs to be resolved.

r&d: Incorporate Astro into QwikCity

Note: This is a very far-fetched idea of introducing a meta-framework within a meta-framework, and requires close investigation.

Content management is better in Astro than in QwikCity.

  • Astro Contents
  • Astro DB

I basically use Qwik, but I wonder if it's possible to manage only the content with Astro?

If a persistence layer is needed in the future, Astro DB is implemented in Turso, but Turso also works well with Qwik (although I don't know much about it)

r&d: I18n

It would be good if you could use DeepL or LLM to support multiple languages when building.

Although still a low priority, this requires investigation.

  • Investigation of implementation method
  • Thinking about UI

chore: Add Biome

  • Migrate JS like file format to Biome.
  • Migrate general lint rules (not import order, etc.) to Biome.

feat: Add Easter egg

Ideas that are coming to mind right now

  • Incognito mode
  • Lucky 7
  • Aurebesh
  • Hard mode

refactor: Rethink routes directory design

The directory directly under routes should be clean.

I think it's better for home page components to have their own subdirectory.

  • Move <TopPage /> to routes/hello/
  • Move some components to routes/

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.