the WordPress security hassle.
---
# AtomicPress
AtomicPress is a static blog generator for python developers that don't want the Wordpress security hassle.
It is built in Flask and takes advantage of it's awesome eco-system such as Flask-Freeze, Flask-Admin, Flask-Migrations, Flask-SQLAlchemy, to mention a few. It utilizes SQLite for its database needs.
## Features
- Posts, Pages, Categories, Tags and Authors (like WordPress).
- Markdown rendering
- Theme support
- Import from Wordpress
- Gist integration
- A simple admin interface
- Build you own extensions
- Sync your generated blog with either FTP or to Amazon S3
## Why not Pelican/Jekyll/Octopress/Hyde?
1. AtomicPress is built in Python.
2. It is built upon Flask, which is easy to extend.
3. It's built to make Wordpress import simple.
## Installation
AtomicPress can easily be installed through pip.
pip install atomicpress
## Getting started
To install AtomicPress you'll need python 2.7, virtualenv and pip.
If you want a quickstart, just copy the example `base-example`, cd and type `make init` and you are ready to go.
## Settings
- SQLALCHEMY_DATABASE_URI: Path to your sqlite database.
- DEBUG: Show errors, should be deactivated for live environments.
- SECRET_KEY: Session key for signing.
- STATIC_URL: Path to the static content, default: `/static/`
- UPLOADS_URL: Path to the uploads folder, defult `/uploads/`
- THEME: The theme you want to run, default is `atomicpress.themes.minimal`.
- GIST_BACKEND_RENDERING: If you want to render a `<noscript></noscript>` that contains the gist content as pure text. Default is `False`
- EXTENSIONS: A array with the extensions you want to run.
### S3
- AWS_ACCESS_KEY_ID: Access key id to aws.
- AWS_ACCESS_KEY: Access key to aws.
- S3_BUCKET: The bucket you want to deploy to.
- S3_DESTINATION: The path within the bucket you want to deploy to.
### FTP
- FTP_HOST: Hostname to your ftp account.
- FTP_USERNAME: Ftp username.
- FTP_PASSWORD: Ftp password.
- FTP_DESTINATION: Ftp sup
## Admin
AtomicPress uses Flask-Admin to show a admin interface, you can access it by running `runserver` with the argument `-a`. Per default is located at `http://localhost:5000/admin/`.
## Themes
AtomicPress ships with the theme minimal per default, if you would like to make your own, just specify the path in your settings file.
THEME=mytheme
To make your own, just look at the theme [minimal](https://github.com/marteinn/AtomicPress/tree/develop/atomicpress/themes/minimal) that ships with AtomicPress.
## Filters
AtomicPress comes with a couple of filters you can use in the post content area.
### code
Render a basic code snippet.
[code]var a = 1;[/code]
>>> <pre class="code">var a = 1;</pre>
### gist
Embeds a more advanced code snippet through a github gist to content.
[gist id="asdasd"]
### image
Embed image path with the `[image]` filter.
<img src="[image id="myimage.jpg"]" />
>>> <img src="/uploads/myimage.jpg" />
If you only want the uploads path, you can use the `[uploads]` filter.
<img src="[uploads]myimage.jpg" />
>>> <img src="/uploads/myimage.jpg" />
## Commands
### Database
#### Create database
Creates the database and stores it according to the SQLALCHEMY_DATABASE_UR path.
python mange.py create_db
#### Remove database
Removes the sqlite database file.
python mange.py drop_db
**Options**
-r Remove the sqlite file when done.
-f Do now show the agreement promp.
#### Updating from a older version
Upgrading from a older version? Run this to make sure the schema is up to date.
python manage.py upgrade -d=atomicpress/migrations/
### Prefill db with initial data
Adds initial data to the database, perfect when you want to try out AtomicPress.
python manage.py prefill fill
### Server
#### Runserver
Creates a lightweight http server running the web application.
python manage.py runserver
**Options**
-a Activate the admin area (do not do this in a production anvironment)
-t Show debug toolbar.
-d Show debug messages.
Note: Although untested, it is possible to run AtomicPress as a standard wsgi application.
### Import
AtomicPress uses wpparser to import data from wordpress export files. Just specify the path to your database export and you are ready to go.
python manage.py importer import_blog -f=./data/blog.wordpress.2014-09-25.xml
**Options**
-f Path to wordpress export file.
### Export
Create a static package of you blog, that are ready to be deployed.
python manage.py exporter export
### Sync
#### S3
Send the exported static files to a AWS S3 bucket.
python manage.py s3 sync
#### FTP
Send the files a your ftp account.
python manage.py ftp sync
## Extensions
### Toggle extensions
AtomicPress uses a pluggale extension system, similar to django's INSTALLED_APPS.
To disable a plugin, define a property in your settings file and just define the ones you need.
EXTENSIONS = (
# "atomicpress.ext.importer",
"atomicpress.ext.exporter",
"atomicpress.ext.ftp",
"atomicpress.ext.s3",
"atomicpress.ext.prefill",
)
Activating you own is also simple, like this extension called catpictures:
EXTENSIONS = (
"atomicpress.ext.importer",
"atomicpress.ext.exporter",
"atomicpress.ext.ftp",
"atomicpress.ext.s3",
"atomicpress.ext.prefill",
"catpictures",
)
### Create extension
To create a extension, create a module with a function called setup. Thats all you need.
## Contributing
Want to contribute? Awesome. Just send a pull request.
## License
AtomicPress is released under the [MIT License](http://www.opensource.org/licenses/MIT).
Metadata
Release files for atomicpress 1.0.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| atomicpress-1.0.6.tar.gz | 35.9 kB | Without provenance | Details for atomicpress-1.0.6.tar.gz |
Release files / atomicpress-1.0.6.tar.gz
| Download URL | atomicpress-1.0.6.tar.gz |
|---|---|
| Size | 35.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
46f6143220466b82fb2405d1c413da418d5654ff9fe0228e58739a6802e6e315
|
|
BLAKE2b-256 checksum How to use checksums |
f86afe1849c1c3c0a4669aef923343c1227d71ed05780f1c147d77dff8afc84d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for atomicpress 1.0.6
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.