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 dd42312294 change 6 months ago
templates b1dd2c0a5b change howto file for noko's template 8 months ago
.gitignore 00db41278f let user change the text editor 11 months ago 43009a9a5c minor change 10 months ago
COPYING 8de73728bb change license to unlicense 9 months ago dd42312294 change 6 months ago 782d9aac44 minor changes 10 months ago 782d9aac44 minor changes 10 months ago
del 7ec338cf70 correct/improve syntax 11 months ago
destroy 9a65e61f8a add exclude.conf to the list of files to be destroyed 7 months ago
exclude c341510ebc add 'excluded entries' feature 7 months ago
help 4b728ecd88 change help message 7 months ago
init c341510ebc add 'excluded entries' feature 7 months ago
list 7a6a30f299 initial commit 11 months ago 090af9dfb1 properly sort the blog entries 9 months ago e75f40a09c correct markdown command 11 months ago
mod c6fbfbd3a3 minor correction 11 months ago 9f427056c5 fix uploading bugs 10 months ago
new 00db41278f let user change the text editor 11 months ago
push 9f427056c5 fix uploading bugs 10 months ago
refresh 7a6a30f299 initial commit 11 months ago c8e1e4031a bug fixes 7 months ago

nci webscript

WARNING: This software is no longer maintained by me (nokoru). If you want to use nci, you should look at the new improved version of nci completely rewritten in python: nci2

This repository is here only for "legacy" purposes

nci is a webscript for Neocities written using the posix shell and python. It 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 way it works 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.