8000 sangyh (Sangy Hanumasagar) · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
View sangyh's full-sized avatar
🎯
Focusing
🎯
Focusing
  • Amazon
  • Seattle, WA

Block or report sangyh

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
sangyh/README.md

Personal Website & Note-Taking System

A Hugo-based personal website with integrated note-taking system that features both a chronological timeline for shorter thoughts and a separate section for longer articles.

Features

  • Dual Content Structure: Separate sections for timeline entries (short thoughts, resources) and longer articles
  • Chronological Timeline: A visually appealing timeline view for shorter notes and resources
  • Article Repository: Organized collection of longer, more structured content
  • Custom Homepage: Showcases both timeline entries and articles
  • Note Creation Tools: Command-line tools for quickly creating different types of content
  • One-Step Publishing: Create content and deploy your site with a single command

Tools Overview

1. Note Creation (new_note.py / new_note.sh)

Creates new notes of different types with proper formatting and metadata.

# Using the Python script directly
python new_note.py [--type TYPE] "Note Title"

# Using the shell script
./new_note.sh [--type TYPE] "Note Title"

# Using aliases (after setup)
note "Your Atomic Note Title"      # Creates a note in the notes/ directory
tnote "Your Timeline Note Title"   # Creates a note in the content/timeline/ directory
article "Your Article Title"       # Creates an article in the content/posts/ directory

Types:

  • atomic: Personal knowledge notes (default)
  • timeline: Short thoughts and resources for the timeline
  • article: Longer, structured content for the articles section

2. Site Deployment (deploy.sh)

Automates the process of building and deploying your Hugo site to your hosting provider.

# Using the script directly
./deploy.sh [commit message]

# Using the alias
deploy "Update site with new content"

3. One-Step Publishing (publish.sh)

Combines note creation and site deployment into a single workflow.

# Using the script directly
./publish.sh -t [type] -m [commit message] "Note Title"
./publish.sh --deploy-only -m "Commit message"

# Using aliases
publish "Your Note Title"             # Creates an article note and deploys the site
publish-article "Your Article Title"  # Creates an article and deploys the site
publish-timeline "Your Timeline Note" # Creates a timeline note and deploys the site

Options:

  • -t, --type: Note type (atomic, timeline, article)
  • -m, --message: Git commit message
  • --deploy-only: Only deploy the site without creating a note
  • --no-deploy: Only create a note without deploying the site

4. Format Transcript (format_transcript.py)

Formats raw text into a structured markdown note with proper metadata.

python format_transcript.py <input_file>

5. Split into Atomic Notes (plan_to_split_atomic.py)

Splits a long text file into multiple atomic notes based on headers.

python plan_to_split_atomic.py <input_file>

6. Enhanced Search (enhanced_search.py)

Performs multi-modal search across notes using exact, fuzzy, and semantic matching.

python enhanced_search.py <query> [mode]

Modes: all, exact, fuzzy, semantic

7. Search CLI (search_cli.py)

A user-friendly command-line interface for searching through notes.

python search_cli.py [query] [-m MODE] [--preview]

Options:

  • -m, --mode: Search mode (all, exact, fuzzy, semantic)
  • --preview: Show preview of matched files
  • Without query: enters interactive mode

8. YouTube to Notes (youtube_to_notes.py)

Converts YouTube videos into searchable notes.

python youtube_to_notes.py <youtube_url>

9. Webpage to Notes (webpage_to_notes.py)

Converts webpages into structured notes using Firecrawl.

python webpage_to_notes.py <webpage_url>

Installation

  1. Clone the repository
  2. Install dependencies:
pip install -r requirements.txt
  1. Set up the note creation aliases:
chmod +x setup_note_alias.sh
./setup_note_alias.sh
source ~/.zshrc  # or ~/.bashrc

Content Types

Atomic Notes

  • Stored in the /notes directory
  • Simple format with title and content
  • Used for personal knowledge management

Timeline Notes

  • Stored in the /content/timeline directory
  • Displayed in a chronological timeline on the website
  • Used for shorter thoughts, resources, and discoveries
  • Created with: new_note.py --type timeline "Note Title" or tnote "Note Title"

Articles

  • Stored in the /content/posts/{category} directory
  • Used for longer, more structured content
  • Displayed in the articles section of the website
  • Created with: new_note.py --type article "Article Title" or article "Article Title"

Note Structure

Notes are stored in markdown format with appropriate frontmatter based on type:

Atomic Notes

# Note Title

Created: YYYY-MM-DD HH:MM:SS

## Content

Timeline Notes

---
title: "Note Title"
date: YYYY-MM-DD HH:MM:SS
type: "timeline"
layout: "timeline"
draft: false
tags: []
---

# Content

Articles

---
author: "Sangy"
title: "Article Title"
draft: true
date: "YYYY-MM-DD"
description: ""
tags: []
categories: []
series: []
aliases: []
cover:
  image: 
  caption: 
---

# Content

Directory Structure

.
├── notes/              # Atomic notes directory
├── content/            # Hugo content directory
│   ├── timeline/       # Timeline notes
│   └── posts/          # Articles by category
├── layouts/            # Custom Hugo layouts
│   └── _default/       # Layout templates
├── assets/             # CSS and other assets
│   └── css/extended/   # Custom CSS
├── new_note.py         # Note creation script
├── new_note.sh         # Shell wrapper for note creation
├── setup_note_alias.sh # Script to set up aliases
└── other tools...      # Other note management tools

Website Features

  • Custom Homepage: Shows both timeline entries and articles
  • Timeline View: Chronological display of shorter notes
  • Article Section: Organized by categories
  • Responsive Design: Works well on all devices
  • Tag Support: Content organized by tags
  • Search Functionality: Find content easily

Best Practices

  1. Keep notes atomic - one main concept per note
  2. Use consistent formatting
  3. Add appropriate metadata and tags
  4. Use headers for structure
  5. Link related notes when possible
  6. Maintain regular backups
  7. Use the appropriate note type for your content:
    • Use timeline notes for shorter thoughts and resources
    • Use articles for longer, more structured content
    • Use atomic notes for personal knowledge management

Pinned Loading

  1. email_response_prediction email_response_prediction Public

    Prediction of engagement (opening, replying) with sales emails by recipients based on email content, time of sending, role etc.

    Jupyter Notebook 1

  2. Recommendation_System Recommendation_System Public

    Content and collaborative Recommendation systems. Content-RS served as Rest API using Flask Restful and deployed on Google App engine

    Jupyter Notebook 1

  3. minimum-vertex-cover minimum-vertex-cover Public

    Algorithms course project to implement branch and bound algorithm on minimum vertex cover problem.

    Python 10 2

  4. MockGPT4 MockGPT4 Public

    BYO-apikey

    Python 17 2

  5. -LivingInfrastructureLangchainChatbot -LivingInfrastructureLangchainChatbot Public

    Langchain chatbot using chatgpt api

    Python 1

  6. bensbites bensbites Public

    Semantic search engine for bens bites newsletter information

    Python

0