Package: 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.FeaturesPosts, Pages, Categories, Tags and Authors (like WordPress).Markdown renderingTheme supportImport from WordpressGist integrationA simple admin interfaceBuild you own extensionsSync your generated blog with either FTP or to Amazon S3Why not Pelican/Jekyll/Octopress/Hyde?AtomicPress is built in Python.It is built upon Flask, which is easy to extend.It’s built to make Wordpress import simple.InstallationAtomicPress can easily be installed through pip.pip install atomicpressDeveloppip install git+git://github.com/marteinn/AtomicPress.git@developGetting startedTo install AtomicPress you’ll need python 2.7, virtualenv and pip.If you want a quickstart, just copy the examplebase-example, cd and
typemake initand you are ready to go.SettingsSQLALCHEMY_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 isatomicpress.themes.minimal.GIST_BACKEND_RENDERING: If you want to render a<noscript></noscript>that contains the gist content as pure
text. Default isFalseEXTENSIONS: A array with the extensions you want to run.MARKDOWN_EXTENSIONS: A list with the activemarkdown
extensions.S3AWS_ACCESS_KEY_ID: Access key id to aws.AWS_ACCESS_KEY: Access key to aws.AWS_REGION: The region your bucket is places (optional).AWS_S3_CALLING_FORMAT: A boto setting (uses
SubdomainCallingFormat by default) (optional).S3_BUCKET: The bucket you want to deploy to.S3_DESTINATION: The path within the bucket you want to deploy to.FTPFTP_HOST: Hostname to your ftp account.FTP_USERNAME: Ftp username.FTP_PASSWORD: Ftp password.FTP_DESTINATION: Ftp supAdminAtomicPress uses Flask-Admin to show a admin interface, you can access
it by runningrunserverwith the argument-a(admin). Per
default is located athttp://localhost:5000/admin/.ThemesAtomicPress ships with the theme minimal per default, if you would like
to make your own, just specify the path in your settings file.THEME=mythemeTo make your own, just look at the thememinimalthat ships with AtomicPress.FiltersAtomicPress comes with a couple of filters you can use in the post
content area.codeRender a basic code snippet.[code]var a = 1;[/code]
>>> <pre class="code">var a = 1;</pre>gistEmbeds a more advanced code snippet through a github gist to content.[gist id="asdasd"]imageEmbed 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" />CommandsDatabaseCreate databaseCreates the database and stores it according to the
SQLALCHEMY_DATABASE_UR path.python mange.py create_dbRemove databaseRemoves the sqlite database file.python mange.py drop_dbOptions-r (remove) Remove the sqlite file when done.
-f (force) Do now show the agreement promp.Updating from a older versionUpgrading 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 dataAdds initial data to the database, perfect when you want to try out
AtomicPress.python manage.py prefill fillServerRunserverCreates a lightweight http server running the web application.python manage.py runserverOptions-a (admin) Activate the admin area (do not do this in a production anvironment)
-t (toolbar) Show debug toolbar.
-d (debug) Show debug messages.Note: Although untested, it is possible to run AtomicPress as a standard
wsgi application.ImportAtomicPress useswpparserto
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.xmlOptions-f (file) Path to wordpress export file.ExportCreate a static package of you blog, that are ready to be deployed.python manage.py exporter exportSyncS3Send the exported static files to a AWS S3 bucket.python manage.py s3 syncFTPSend the files to your ftp account.python manage.py ftp syncExtensionsToggle extensionsAtomicPress 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 extensionTo create a extension, create a module with a function called setup.
Thats all you need.ContributingWant to contribute? Awesome. Just send a pull request.LicenseAtomicPress is released under theMIT
License.