Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Kittelsaa/taking-notes

Repository files navigation

An Effective Note-Taking Guide

Technologies Used

This website was developed with:

  • Next.js: A powerful React framework for server-side rendering, static site generation, and optimized performance.
  • React: For building dynamic and interactive user interfaces.
  • MDX: Enables writing rich content with Markdown while seamlessly embedding React components for enhanced interactivity.
  • Tailwind CSS: For efficient and highly customizable utility-first styling.
  • TypeScript: Provides static typing for better development experience and code quality.

Getting Started (For Developers)

To explore the codebase or run this guide locally for development:

Installation

Clone the repository to your local machine and install the required dependencies:

git clone [your-repository-url]
cd taking-notes # Navigate into your project directory
npm install # or yarn install / pnpm install

Local Development

Once the packages are installed, you can start the development server. This project also includes a watch script for MDX content changes.

npm run dev # or yarn dev / pnpm dev

Project Structure

This project follows a clear, organized structure common in Next.js applications:

β”œβ”€β”€ .next/              # Next.js build output (automatically generated)
β”œβ”€β”€ components/         # Reusable React components for UI and content rendering
β”‚   β”œβ”€β”€ Footer.tsx
β”‚   β”œβ”€β”€ MDX.tsx         # Component for rendering MDX content
β”‚   β”œβ”€β”€ Note.tsx        # Component for displaying individual notes
β”‚   β”œβ”€β”€ Page.tsx        # General page layout component
β”‚   β”œβ”€β”€ PostList.tsx    # Component to list notes/posts
β”‚   β”œβ”€β”€ Prose.tsx       # Tailwind Typography helper for content styling
β”‚   └── ThemeSelect.tsx # Component for theme toggling
β”œβ”€β”€ lib/                # Utility functions and data fetching logic
β”‚   β”œβ”€β”€ formatDate.ts
β”‚   β”œβ”€β”€ mdx.ts          # MDX-related helper functions
β”‚   β”œβ”€β”€ types.ts
β”‚   └── utils.ts
β”œβ”€β”€ pages/              # Next.js pages (routes)
β”‚   β”œβ”€β”€ posts/          # Dynamic routes for individual notes/posts
β”‚   β”‚   β”œβ”€β”€ [slug].tsx  # Individual note page template
β”‚   β”‚   └── index.tsx   # Index page for all notes
β”‚   β”œβ”€β”€ 404.tsx         # Custom 404 error page
β”‚   β”œβ”€β”€ _app.tsx        # Custom App component for global settings
β”‚   β”œβ”€β”€ _document.tsx   # Custom Document component for HTML structure
β”‚   └── index.tsx       # Homepage
β”œβ”€β”€ posts/              # Directory for all your MDX note/guide content files
β”‚   └── *.mdx           # Individual MDX files for each Posts
β”œβ”€β”€ styles/             # Global CSS styles
β”‚   └── global.css
β”œβ”€β”€ .eslintrc.json      # ESLint configuration
β”œβ”€β”€ .gitignore          # Files/folders ignored by Git
β”œβ”€β”€ .prettierignore     # Files/folders ignored by Prettier
β”œβ”€β”€ README.md           # This file
β”œβ”€β”€ next-env.d.ts       # TypeScript environment declarations for Next.js
β”œβ”€β”€ next.config.js      # Next.js configuration file
β”œβ”€β”€ package-lock.json   # npm lock file
β”œβ”€β”€ package.json        # Project metadata and dependencies
β”œβ”€β”€ postcss.config.js   # PostCSS configuration
β”œβ”€β”€ tailwind.config.js  # Tailwind CSS configuration
└── tsconfig.json       # TypeScript configuration

Customization & Content Management

This section outlines how to update and manage the content and appearance of your note-taking guide.

Site Configuration

Global site settings, such as metadata and environment variables, are primarily managed within next.config.js and potentially environment variables (.env).

Key Components

  • Note.tsx: This component is central to displaying your individual note-taking guide entries.
  • MDX.tsx: Handles the rendering of your rich MDX content.
  • ThemeSelect.tsx: Provides the user interface for switching between different color themes (e.g., light and dark mode).
  • PostList.tsx: Used to display a list of your note-taking guide entries on the main blog/posts page.

Adding & Managing Guide Content

Your note-taking guide entries are written in MDX format and stored in the /posts/ directory. Each .mdx file represents a single guide topic or article.

Deployment

This Next.js application is a static website, making it suitable for deployment on various static hosting platforms. Popular choices include Vercel, Netlify, and GitHub Pages.

About

πŸ’Ύ A guide that provides actionable advice to transform/enhance your note-taking process

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors