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


Download files

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

Source Distribution

IceVolt-0.1.0.tar.gz (4.1 kB view details)

Uploaded Source

File details

Details for the file IceVolt-0.1.0.tar.gz.

File metadata

  • Download URL: IceVolt-0.1.0.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for IceVolt-0.1.0.tar.gz
Algorithm Hash digest
SHA256 25c465e1e91b0f1ac8da85801ea3a370dd57d25c40900a2b5b43c48c5f1c69f4
MD5 5b2db166de6accb79027125b51bbbdd8
BLAKE2b-256 31374363dc5a656908f43af4ec010a882d74d5b99e7fc9c78f05aa0869cb33bc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page