Skip to content

feixue94/paper-notes

Repository files navigation

Paper Notes Website

A simple website used to store and display personal notes on academic papers. The website now truly dynamically discovers papers from the papers directory by scanning it in real-time - no hardcoded lists!

Features

  • True Dynamic Paper Discovery: Automatically scans the papers directory for JSON files in real-time
  • Multiple Server Options: Supports Python, PHP, and Node.js servers
  • Create New Papers: Easy form-based paper creation
  • Search & Filter: Search by title, author, keywords, and filter by category, conference, year
  • Responsive Design: Works on desktop and mobile devices

Quick Start (Recommended)

The easiest way to get started is with the Python server:

python3 server.py

Then visit: http://localhost:8000

The server will automatically scan your papers/ directory and discover all JSON files dynamically!

Setup Options

Option 1: Python Server (Recommended - Works out of the box)

python3 server.py          # Default port 8000
python3 server.py 8001     # Custom port

Truly dynamic - Scans papers directory in real-time
No configuration needed
Works on any system with Python 3

Option 2: PHP Server

If your server supports PHP, upload list-papers.php and the website will automatically use server-side directory scanning.

Option 3: Node.js Server

node list-papers.js

How Dynamic Discovery Works

  1. Real-time scanning: When you request the paper list, the server scans the papers/ directory
  2. Automatic discovery: Finds all .json files without any manual configuration
  3. No hardcoded lists: The system adapts automatically when you add/remove papers
  4. Sorted results: Papers are returned in alphabetical order

Adding Papers

Method 1: Use the Web Interface

  1. Visit create-paper.html
  2. Fill in the paper details
  3. Download the generated JSON file
  4. Upload it to the papers/ directory
  5. Refresh the main page - your new paper appears automatically!

Method 2: Manual Creation

  1. Create a JSON file in the papers/ directory
  2. Follow this structure:
{
  "title": "Paper Title",
  "authors": "Author1, Author2", 
  "conference": "Conference Name",
  "year": 2024,
  "keywords": ["keyword1", "keyword2"],
  "categories": ["category1"],
  "mainIdea": "Main idea description",
  "takeaways": "Key takeaways",
  "figures": [],
  "addedTime": "2024-01-01T00:00:00.000Z"
}
  1. Refresh the main page - appears automatically!

Current Status

29 papers discovered dynamically from your papers/ directory
No manual paper list maintenance needed
Real-time directory scanning working

File Structure

paper-notes/
├── index.html              # Main paper listing page
├── paper.html              # Individual paper view  
├── create-paper.html       # Create new paper form
├── style.css               # Styles
├── server.py               # Python server with dynamic discovery ⭐
├── list-papers.php         # PHP directory scanner
├── list-papers.js          # Node.js server alternative
└── papers/                 # Directory containing paper JSON files
    ├── Paper1.json         # Automatically discovered
    ├── Paper2.json         # Automatically discovered  
    └── ...                 # All 29 papers auto-discovered!

API Endpoints

  • GET /list-papers - Returns JSON list of all papers in directory
  • GET / - Serves the main application

Example response:

{
  "paperFiles": [
    "papers/Paper1.json",
    "papers/Paper2.json",
    "..."
  ]
}

Troubleshooting

If you see "No papers found":

  1. Start the server: python3 server.py
  2. Check the URL: Make sure you're visiting http://localhost:8000 (not opening the HTML file directly)
  3. Check papers directory: Ensure you have .json files in the papers/ folder

Browser Compatibility

  • Modern browsers with ES6+ support
  • JavaScript must be enabled
  • Must be accessed through a server (not as local file)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published