Skip to main content

A mini blog with minimal architecture

Project description

# IceVolt
This is a work in progress. Not intended for current use.

IceVolt is a particle-sized, portable blogging platform.
```
# small
$ git ls-files | wc -l
20

# lightweight
$ git ls-files | du -sh
1.7M icevolt/
```
This web interface is lightweight, developer friendly, and performance optimized. No Bootstrap, no third-party plugins, and certainly no jQuery.


## Install
After install, make sure to run `icevolt createdb` to generate the sqlite3 database from the Flask model. Use `icevolt run` to get the development server started.

### Option 1: With Package Manager
* [Arch Linux](INSTALL.md#arch-linux---installation-guide)
* [Ubuntu](INSTALL.md#ubuntu--debian---installation-guide)

### Option 2: Platform Agnostic
* [Github](INSTALL.md#github)
* [Pip](INSTALL.md#pip)


## Usage

### Commands

```
positional arguments:
{createdb,optimize,shell,run} createdb - create database from model
optimize - optimize static files with compression
shell - returns interactive shell context
run - run the application development server

optional arguments:
-h, --help show this help message and exit
-p PORT, --port PORT port number to use
-H HOST, --host HOST server hostname
-f FILL, --fill FILL populate the database with random text
-P, --prod run in production
```

### Basic Usage

Run the development server. Not suitable for production.
```
$ icevolt run -p <port> -H <host>
```

Run the production server.
```
$ service nginx start
$ icevolt run -P
```


## Features

* Minimalistic blog powered by [Flask](https://github.com/pallets/flask) microframework
* Blog post storage with sqlite3 managed by [SQLAlchemy](https://github.com/zzzeek/sqlalchemy)
* Easy-use [manage.py](manage.py) script for application
* Minifier tool to decrease file size using [csscompressor](https://github.com/sprymix/csscompressor)


## Tools

### Database Launcher
The database launcher scans the SQLAlchemy declarative model, connects to the database server, and creates the database with Python bindings.

Before running your IceVolt blog, launch the application database with `icevolt createdb`.

**New:**
If you would like to immediately populate your empty database with random data, we have a function to do that now. Run `icevolt createdb --fill <num>` where *num* is the number of blog posts you would like to generate. This feature will fill the text blocks with random alphabet characters.

### CSS Minifier
Each application request delivers static files such as CSS. To increase performance, these files can be optimized or 'minified' to eliminate whitespace and decrease filesize.

Current tool will minify static/css/main.css by running `icevolt optimize`. This will output the optimized file as main.min.css in the static folder.


## License

GPUv3: [LICENSE](LICENSE)


## Author

[Clint Moyer](http://clintmoyer.com) created IceVolt in 2017.

Project details


Release history Release notifications

This version
History Node

0.1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
IceVolt-0.1.0.tar.gz (4.1 kB) Copy SHA256 hash SHA256 Source None Jan 5, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page