nci is a webscript for Neocities users that lets you easily create and manage a blog from your GNU/Linux terminal. nci provides you basic utilities like creating, modifying and removing entries.

nokoru b1dd2c0a5b change howto file for noko's template 1 week ago
templates b1dd2c0a5b change howto file for noko's template 1 week ago
.gitignore 00db41278f let user change the text editor 3 months ago 43009a9a5c minor change 2 months ago
COPYING 8de73728bb change license to unlicense 1 month ago 49e31a2f06 change 2 weeks ago 782d9aac44 minor changes 2 months ago 782d9aac44 minor changes 2 months ago
del 7ec338cf70 correct/improve syntax 3 months ago
destroy ba256f70c5 add destroy file 2 months ago
help 08f2cb3a6d change help 2 weeks ago
init ac08b788d0 add full support for reconfiguration 3 months ago
list 7a6a30f299 initial commit 3 months ago 090af9dfb1 properly sort the blog entries 1 month ago e75f40a09c correct markdown command 3 months ago
mod c6fbfbd3a3 minor correction 3 months ago 9f427056c5 fix uploading bugs 2 months ago
new 00db41278f let user change the text editor 3 months ago
push 9f427056c5 fix uploading bugs 2 months ago
refresh 7a6a30f299 initial commit 3 months ago deb058b056 fix minor bug 3 months ago

nci webscript

nci is a webscript for Neocities written in bash and python that lets you easily post, delete and modify blog entries and update files from your Linux terminal. I created this webscript to create and manage my neocities blog, so nci is just a hobby project and might not be a very good program. I just wanted to share the nci engine for fun and helping people, so adapt the scripts to your needs or just try it!

you want to install it? OK! just remember I'm not responsible for any damages you do to your website caused by the misuse of nci.

How it works

nci works in a specific directory that contains the scripts of the nci system. Basically you cd your_neocities_website_directory and then you run nci commands inside of it to update your website files or blog entries, if you've used git, the behavior is pretty similar.



Dependencies are python 3.x.x, curl, pip and the pip markdown module. Additionally, you need git to clone the nci repo, so install all the required packages before using nci. If you're using Debian, Ubuntu, Mint or any Debian-based distro, then run:

  1. sudo apt install python3 python3-pip curl git
  2. pip3 install markdown

If you're using any other distro, then use your corresponding commands in order to install the nci dependencies.

nci installation

  1. Clone the nci repo git clone
  2. Rename the nci directory if you want (i.e. "my_website") mv nci <your_website_directory>
  3. Select the directory cd <your_website_directory>
  4. Run ./init to initialize the nci system.
  5. Congrats! You can now create, modify and delete blog entries! See "how to use nci" for details

How to use nci

The basics

Once you installed nci, you'll see your website directory has now two main folders: "public_html" and "entries". Those folders contain your blog data and website files.

  • public_html: this is your main website folder, it contains your documents and files: html pages, images, rss feed, css styles, javascript, etc.
  • entries: contains your "raw" blog entries, this directory is vital for the nci system!

Additionally, you'll find your website directory has a file named "nci.conf". Don't delete it! (actually, don't delete anything that the ./init script generates)

How to post blog entries

1) Run ./new

2) Type a title for your entry.

3) Your preferred text editor (by default: GNU Nano) will be opened, it'll display a "form" that looks like this:

<start writing your thoughts and feelings here>

4) Just write whatever you like BELOW the BODY: line, don't type anything next to "BODY:".

5) You can use markdown to format your article body if you want (nci will parse the markdown and then convert it into html)

6) If you add any image to your entry, you must move your image to the "public_html/" directory!

7) Once you finished your entry, just save the file and close your text editor (for GNU Nano: ctrl+s to save, ctrl+x to exit).

8) To add your created entry to your blog HTML and RSS, run ./refresh

The ./refresh command

The ./refresh command is really important, cause by using that command you can, well, "refresh"/rewrite your blog HTML and RSS files, when you "refresh" your blog, you're applying changes like adding created entries, removing deleted ones and updating the content of the entries you modified.

Other commands

Run ./help to see a list of useful commands like ./del or ./mod.

Uploading my nci website/blog to Neocities (./push)

Run the ./push command to upload your website files ("public_html/*"). WARNING: If you already have a Neocities website, then download it (from your Neocities dashboard) and paste all the files inside the "public_html/" directory! ANY file that is not found inside the public_html directory will be deleted!

license and credits crap

nci is licensed under the Unlicense license (basically public domain). Do whatever you like with nci. You don't have to credit me or asking me for permission to do anything, just do what you want. Keep in mind that nci comes with no warranty.