This directory contains tools to manage your Neocities website via the Neocities API.
The easiest way to manage your Neocities site is with the web UI!
Start the Web UI:
.\start-ui.batThen open your browser to http://localhost:8080
Features:
- β¨ Drag & drop file uploads
- π Visual file browser
- ποΈ One-click file deletion
- π¨ Clean, minimalistic design
- π» Very low resource usage (~150 MB total)
For detailed Web UI instructions, see WEB-UI-GUIDE.md
- neocities-apikey - Your Neocities API key (keep this secure!)
- neocities-manager.py - Python script to manage your Neocities site
- neocities-manager.js - Node.js script to manage your Neocities site (alternative)
- test-api.js - Simple test script for the Node.js version
Choose ONE of the following:
- Python 3.6 or later
- No external dependencies required (uses built-in
urllib)
- Node.js 12 or later
- No external dependencies required (uses built-in modules only)
If you want to use the Web UI (server.py):
- Python 3.6 or later
flaskandflask-cors
Install with:
pip install -r requirements.txtTest the connection:
.\neocities.bat listUpload the test page:
.\neocities.bat upload test-page.htmlAfter uploading, visit your site to see the test page!
.\neocities.bat list.\neocities.bat list images.\neocities.bat upload index.html.\neocities.bat upload local-style.css css/style.css.\neocities.bat upload-dir ./my-website.\neocities.bat upload-dir ./assets images.\neocities.bat delete old-file.html another-file.css.\neocities.bat helpIf you prefer to call Python directly:
C:\Users\didac\AppData\Local\Programs\Python\Python312\python.exe neocities-manager.py listOr if Python is in your PATH:
python neocities-manager.py listSame commands as Python, but use node instead:
node neocities-manager.js list
node neocities-manager.js upload index.html
node neocities-manager.js upload-dir ./my-website
node neocities-manager.js delete old-file.htmlYour API key is stored in neocities-apikey. This file should be kept secure and never committed to public repositories.
You can get your API key from your Neocities dashboard at: https://neocities.org/settings
- β List files on your Neocities site
- β Upload single files
- β Upload multiple files at once
- β Upload entire directories (with automatic batching)
- β Delete files from your site
- β Automatic rate limiting to avoid API abuse
- β Progress indicators and emoji status updates
According to Neocities API rules:
- Try to limit recurring site updates to one per minute
- Don't spam the server with tons of API requests
- The batch upload feature automatically handles rate limiting
python neocities-manager.py upload-dir ./websitepython neocities-manager.py upload blog/2024-11-30-my-post.html blog/2024-11-30-my-post.htmlpython neocities-manager.py delete old-about.html deprecated-style.csspython neocities neocities-manager.py listMake sure the neocities-apikey file is readable and contains your valid API key.
Check that your API key is valid and that you have permissions to perform the requested action.
For full API documentation, visit: https://neocities.org/api