{ "info": { "author": "Martin Sandstr\u00f6m", "author_email": "martin@marteinn.se", "bugtrack_url": null, "classifiers": [], "description": "AtomicPress\n===========\n\nAtomicPress is a static blog generator for python developers that don't\nwant the Wordpress security hassle. It is built in Flask and takes\nadvantage of it's awesome eco-system such as Flask-Freeze, Flask-Admin,\nFlask-Migrations, Flask-SQLAlchemy, to mention a few. It utilizes SQLite\nfor its database needs.\n\nFeatures\n--------\n\n- Posts, Pages, Categories, Tags and Authors (like WordPress).\n- Markdown rendering\n- Theme support\n- Import from Wordpress\n- Gist integration\n- A simple admin interface\n- Build you own extensions\n- Sync your generated blog with either FTP or to Amazon S3\n\nWhy not Pelican/Jekyll/Octopress/Hyde?\n--------------------------------------\n\n1. AtomicPress is built in Python.\n2. It is built upon Flask, which is easy to extend.\n3. It's built to make Wordpress import simple.\n\nInstallation\n------------\n\nAtomicPress can easily be installed through pip.\n\n::\n\n pip install atomicpress\n\nDevelop\n~~~~~~~\n\n::\n\n pip install git+git://github.com/marteinn/AtomicPress.git@develop\n\nGetting started\n---------------\n\nTo install AtomicPress you'll need python 2.7, virtualenv and pip.\n\nIf you want a quickstart, just copy the example ``base-example``, cd and\ntype ``make init`` and you are ready to go.\n\nSettings\n--------\n\n- ``SQLALCHEMY_DATABASE_URI``: Path to your sqlite database.\n- ``DEBUG``: Show errors, should be deactivated for live environments.\n- ``SECRET_KEY``: Session key for signing.\n- ``STATIC_URL``: Path to the static content, default: ``/static/``\n- ``UPLOADS_URL``: Path to the uploads folder, defult ``/uploads/``\n- ``THEME``: The theme you want to run, default is\n ``atomicpress.themes.minimal``.\n- ``GIST_BACKEND_RENDERING``: If you want to render a\n ```` that contains the gist content as pure\n text. Default is ``False``\n- ``EXTENSIONS``: A array with the extensions you want to run.\n- ``MARKDOWN_EXTENSIONS``: A list with the active `markdown\n extensions `__.\n\nS3\n~~\n\n- ``AWS_ACCESS_KEY_ID``: Access key id to aws.\n- ``AWS_ACCESS_KEY``: Access key to aws.\n- ``AWS_REGION``: The region your bucket is places (optional).\n- ``AWS_S3_CALLING_FORMAT``: A boto setting (uses\n SubdomainCallingFormat by default) (optional).\n- ``S3_BUCKET``: The bucket you want to deploy to.\n- ``S3_DESTINATION``: The path within the bucket you want to deploy to.\n\nFTP\n~~~\n\n- ``FTP_HOST``: Hostname to your ftp account.\n- ``FTP_USERNAME``: Ftp username.\n- ``FTP_PASSWORD``: Ftp password.\n- ``FTP_DESTINATION``: Ftp sup\n\nAdmin\n-----\n\nAtomicPress uses Flask-Admin to show a admin interface, you can access\nit by running ``runserver`` with the argument ``-a`` (admin). Per\ndefault is located at ``http://localhost:5000/admin/``.\n\nThemes\n------\n\nAtomicPress ships with the theme minimal per default, if you would like\nto make your own, just specify the path in your settings file.\n\n::\n\n THEME=mytheme\n\nTo make your own, just look at the theme\n`minimal `__\nthat ships with AtomicPress.\n\nFilters\n-------\n\nAtomicPress comes with a couple of filters you can use in the post\ncontent area.\n\ncode\n~~~~\n\nRender a basic code snippet.\n\n::\n\n [code]var a = 1;[/code]\n >>>
var a = 1;
\n\ngist\n~~~~\n\nEmbeds a more advanced code snippet through a github gist to content.\n\n::\n\n [gist id=\"asdasd\"]\n\nimage\n~~~~~\n\nEmbed image path with the ``[image]`` filter.\n\n::\n\n \n >>> \n\nIf you only want the uploads path, you can use the ``[uploads]`` filter.\n\n::\n\n \n >>> \n\nCommands\n--------\n\nDatabase\n~~~~~~~~\n\nCreate database\n^^^^^^^^^^^^^^^\n\nCreates the database and stores it according to the\nSQLALCHEMY\\_DATABASE\\_UR path.\n\n::\n\n python mange.py create_db\n\nRemove database\n^^^^^^^^^^^^^^^\n\nRemoves the sqlite database file.\n\n::\n\n python mange.py drop_db\n\n**Options**\n\n::\n\n -r (remove) Remove the sqlite file when done.\n -f (force) Do now show the agreement promp.\n\nUpdating from a older version\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nUpgrading from a older version? Run this to make sure the schema is up\nto date.\n\n::\n\n python manage.py upgrade -d=atomicpress/migrations/\n\nPrefill db with initial data\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nAdds initial data to the database, perfect when you want to try out\nAtomicPress.\n\n::\n\n python manage.py prefill fill\n\nServer\n~~~~~~\n\nRunserver\n^^^^^^^^^\n\nCreates a lightweight http server running the web application.\n\n::\n\n python manage.py runserver\n\n**Options**\n\n::\n\n -a (admin) Activate the admin area (do not do this in a production anvironment)\n -t (toolbar) Show debug toolbar.\n -d (debug) Show debug messages.\n\nNote: Although untested, it is possible to run AtomicPress as a standard\nwsgi application.\n\nImport\n~~~~~~\n\nAtomicPress uses `wpparser `__ to\nimport data from wordpress export files. Just specify the path to your\ndatabase export and you are ready to go.\n\n::\n\n python manage.py importer import_blog -f=./data/blog.wordpress.2014-09-25.xml\n\n**Options**\n\n::\n\n -f (file) Path to wordpress export file.\n\nExport\n~~~~~~\n\nCreate a static package of you blog, that are ready to be deployed.\n\n::\n\n python manage.py exporter export\n\nSync\n~~~~\n\nS3\n^^\n\nSend the exported static files to a AWS S3 bucket.\n\n::\n\n python manage.py s3 sync\n\nFTP\n^^^\n\nSend the files to your ftp account.\n\n::\n\n python manage.py ftp sync\n\nExtensions\n----------\n\nToggle extensions\n~~~~~~~~~~~~~~~~~\n\nAtomicPress uses a pluggale extension system, similar to django's\nINSTALLED\\_APPS. To disable a plugin, define a property in your settings\nfile and just define the ones you need.\n\n::\n\n EXTENSIONS = (\n # \"atomicpress.ext.importer\",\n \"atomicpress.ext.exporter\",\n \"atomicpress.ext.ftp\",\n \"atomicpress.ext.s3\",\n \"atomicpress.ext.prefill\",\n )\n\nActivating you own is also simple, like this extension called\ncatpictures:\n\n::\n\n EXTENSIONS = (\n \"atomicpress.ext.importer\",\n \"atomicpress.ext.exporter\",\n \"atomicpress.ext.ftp\",\n \"atomicpress.ext.s3\",\n \"atomicpress.ext.prefill\",\n \"catpictures\",\n )\n\nCreate extension\n~~~~~~~~~~~~~~~~\n\nTo create a extension, create a module with a function called setup.\nThats all you need.\n\nContributing\n------------\n\nWant to contribute? Awesome. Just send a pull request.\n\nLicense\n-------\n\nAtomicPress is released under the `MIT\nLicense `__.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/marteinn/atomicpress", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "atomicpress", "package_url": "https://pypi.org/project/atomicpress/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/atomicpress/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/marteinn/atomicpress" }, "release_url": "https://pypi.org/project/atomicpress/1.1.0/", "requires_dist": null, "requires_python": null, "summary": "AtomicPress is a static blog generator for python developers.", "version": "1.1.0" }, "last_serial": 2115826, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "0694455f44b26f19fe9c804828243e84", "sha256": "9a218982bd0aadd3a08b3003ae3098e63f7fbd76f17954c818361e5cc4906145" }, "downloads": -1, "filename": "atomicpress-1.0.tar.gz", "has_sig": false, "md5_digest": "0694455f44b26f19fe9c804828243e84", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34768, "upload_time": "2014-10-05T15:16:58", "url": "https://files.pythonhosted.org/packages/6c/e1/f65a44087f82b587701b04b2ce99250af5b076b15799aea5a71b6db034c1/atomicpress-1.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "9a8808ba7d78d5d9364f6f009c9c178c", "sha256": "b543372885d79ae2039a4c41ed9970c46ec7657ddc8b91793277fa6bb2a12f3b" }, "downloads": -1, "filename": "atomicpress-1.0.1.tar.gz", "has_sig": false, "md5_digest": "9a8808ba7d78d5d9364f6f009c9c178c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16620116, "upload_time": "2014-10-05T15:32:56", "url": "https://files.pythonhosted.org/packages/57/32/ba0b6cfa52a5ad513315ee87da6637cab28e30958523ce332549e12315c0/atomicpress-1.0.1.tar.gz" } ], "1.0.10": [ { "comment_text": "", "digests": { "md5": "eca3acd59f4ecdb7a6b60a5f4856bcad", "sha256": "4c02aab727aac80b18b6d93881cfa5950a988805458f47a3f77d10c9d2dfe200" }, "downloads": -1, "filename": "atomicpress-1.0.10.tar.gz", "has_sig": false, "md5_digest": "eca3acd59f4ecdb7a6b60a5f4856bcad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36606, "upload_time": "2015-07-31T17:49:33", "url": "https://files.pythonhosted.org/packages/e5/a2/fea7a5278e22293b4e9c74494f9b8e9668ca19bbab32f544ad3b568a7cc8/atomicpress-1.0.10.tar.gz" } ], "1.0.11": [ { "comment_text": "", "digests": { "md5": "64929d8a4e31e9c5ff54959de686a026", "sha256": "0066bf892aad7f54aa9cf3fd14bfc629ee1d09168e102ef963d380a925b5ee5b" }, "downloads": -1, "filename": "atomicpress-1.0.11.tar.gz", "has_sig": false, "md5_digest": "64929d8a4e31e9c5ff54959de686a026", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36774, "upload_time": "2015-08-03T15:28:15", "url": "https://files.pythonhosted.org/packages/bf/04/73378966d82f357587fd2f2dbf35a8655bdb1a6b9fae879ae3fdb3c64dda/atomicpress-1.0.11.tar.gz" } ], "1.0.12": [ { "comment_text": "", "digests": { "md5": "87f356a380ad15008f6bf8e52274decd", "sha256": "0d09b6cd73d19662a6759e3be14c9a0323d97c65e72170bac8b46d0d06a3c792" }, "downloads": -1, "filename": "atomicpress-1.0.12.tar.gz", "has_sig": false, "md5_digest": "87f356a380ad15008f6bf8e52274decd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36814, "upload_time": "2015-08-19T18:20:15", "url": "https://files.pythonhosted.org/packages/e0/e2/f6bbd344426d553bed20f20d81fa19205ba754b14c874f9b6eb27b087681/atomicpress-1.0.12.tar.gz" } ], "1.0.13": [ { "comment_text": "", "digests": { "md5": "6268192e18712a8fd8661d8136adf3a1", "sha256": "7bffbb167c470362af5ffcb62202954dc9aebe886602717af26a72eb1ac1e4e8" }, "downloads": -1, "filename": "atomicpress-1.0.13.tar.gz", "has_sig": false, "md5_digest": "6268192e18712a8fd8661d8136adf3a1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37470, "upload_time": "2015-09-06T17:51:16", "url": "https://files.pythonhosted.org/packages/54/4d/fed6d3cecc385aecc3ae8354b0eea3fe71fe8cd8c80978c6015b45551de4/atomicpress-1.0.13.tar.gz" } ], "1.0.14": [ { "comment_text": "", "digests": { "md5": "f2c3145104728df1e1ad5c654c4757bb", "sha256": "f89bc7161383916d632af90f9528eee5049453e238f2b4e25608ece6ec2e5cd6" }, "downloads": -1, "filename": "atomicpress-1.0.14.tar.gz", "has_sig": false, "md5_digest": "f2c3145104728df1e1ad5c654c4757bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37451, "upload_time": "2016-05-05T14:00:53", "url": "https://files.pythonhosted.org/packages/89/b6/63756fe9bc958eb1de3677ee88e8aa4ef2d1a32f6960346131841df9367c/atomicpress-1.0.14.tar.gz" } ], "1.0.15": [ { "comment_text": "", "digests": { "md5": "f8407324ead495e7c71f58a474f4d90e", "sha256": "035a85435fc03ba0e4d19c20421bc4fe146b7ef2074fe3c49ab2dd44aba4916d" }, "downloads": -1, "filename": "atomicpress-1.0.15.tar.gz", "has_sig": false, "md5_digest": "f8407324ead495e7c71f58a474f4d90e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37674, "upload_time": "2016-05-05T18:55:37", "url": "https://files.pythonhosted.org/packages/c6/09/9dc61718b15e03b5003673a00fc88366401e817570938253a1630bf373da/atomicpress-1.0.15.tar.gz" } ], "1.0.16": [ { "comment_text": "", "digests": { "md5": "ddc4ffdc20065228c99440c2edb4817b", "sha256": "0f8a7babf98ad07d93b41740bddd5cf32894989a08a6288779c3bceaddf8300c" }, "downloads": -1, "filename": "atomicpress-1.0.16.tar.gz", "has_sig": false, "md5_digest": "ddc4ffdc20065228c99440c2edb4817b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38366, "upload_time": "2016-05-08T20:22:51", "url": "https://files.pythonhosted.org/packages/86/76/01353e14bb4d31bf4cfbe1be1063bb9d9c5da784bedebef8bed048612334/atomicpress-1.0.16.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "516f219bbe5eec5cd520a52fbf1d367e", "sha256": "5a741b2e86585a430002ea580d8ac75fc5deef85776a7453bd81d93f6631433a" }, "downloads": -1, "filename": "atomicpress-1.0.2.tar.gz", "has_sig": false, "md5_digest": "516f219bbe5eec5cd520a52fbf1d367e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16620915, "upload_time": "2014-10-05T15:45:22", "url": "https://files.pythonhosted.org/packages/1d/20/bdef88d5ee97164a1f4e9d5a69385a75dcfc2688bc80d767a144fb2d1e7e/atomicpress-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "c8884d92d027d5f362e536a33b68531f", "sha256": "7ab8af34ae2ddc6d7df331b990eebec89d69bc4b7047be135da1e08d84f41ddd" }, "downloads": -1, "filename": "atomicpress-1.0.3.tar.gz", "has_sig": false, "md5_digest": "c8884d92d027d5f362e536a33b68531f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35748, "upload_time": "2014-10-05T16:01:10", "url": "https://files.pythonhosted.org/packages/33/a9/ccd920134b076ef776acf80888b60a07bc2f10c433d00e696ba0fe65d8c6/atomicpress-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "aa656b5b93b12ee7e2256f7b1ff60039", "sha256": "04e8414d475a17cff1acd2a90546a2cba73b36bd9dc22f6ba933f8b58d381608" }, "downloads": -1, "filename": "atomicpress-1.0.4.tar.gz", "has_sig": false, "md5_digest": "aa656b5b93b12ee7e2256f7b1ff60039", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35579, "upload_time": "2014-10-06T16:11:58", "url": "https://files.pythonhosted.org/packages/8e/d8/37cd542200b918770017e7a8b78ccdececd2debc030ff8660004bf42d8e9/atomicpress-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "4a966ae9c42bfe835f8634a14f1dcb30", "sha256": "9c8358ebb2d23c7d6fe0152151ed46bdb37a57350e2071166c18a2bec5bf57e5" }, "downloads": -1, "filename": "atomicpress-1.0.5.tar.gz", "has_sig": false, "md5_digest": "4a966ae9c42bfe835f8634a14f1dcb30", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35921, "upload_time": "2014-10-12T11:42:37", "url": "https://files.pythonhosted.org/packages/31/c9/8cdaf3b39bd668ffd54892bc63dfd88979ac30a105b43d410a9cbf9161bd/atomicpress-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "6c388a9970e0e070f1f1844775abddb8", "sha256": "46f6143220466b82fb2405d1c413da418d5654ff9fe0228e58739a6802e6e315" }, "downloads": -1, "filename": "atomicpress-1.0.6.tar.gz", "has_sig": false, "md5_digest": "6c388a9970e0e070f1f1844775abddb8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35925, "upload_time": "2014-10-12T11:53:01", "url": "https://files.pythonhosted.org/packages/f8/6a/fe1849c1c3c0a4669aef923343c1227d71ed05780f1c147d77dff8afc84d/atomicpress-1.0.6.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "962e6cc971e0766b60dc5154f4deeb2d", "sha256": "64868f2f56c51f02a1e79a6f03b70f36ce41033a53b1ad4c50668af7a7635bcc" }, "downloads": -1, "filename": "atomicpress-1.0.7.tar.gz", "has_sig": false, "md5_digest": "962e6cc971e0766b60dc5154f4deeb2d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36026, "upload_time": "2015-01-18T11:42:34", "url": "https://files.pythonhosted.org/packages/ec/ef/1d1a8ed7923599ed38e41254794e788a15afd941e87894381ee74e52a3b6/atomicpress-1.0.7.tar.gz" } ], "1.0.9": [ { "comment_text": "", "digests": { "md5": "377d5be42093179392ffeaa48af81dd1", "sha256": "e6afd1e636c73058a851d93af1ac936d1735aa5bb8f92fa79fa03cb69054c8a5" }, "downloads": -1, "filename": "atomicpress-1.0.9.tar.gz", "has_sig": false, "md5_digest": "377d5be42093179392ffeaa48af81dd1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36598, "upload_time": "2015-07-29T15:55:06", "url": "https://files.pythonhosted.org/packages/ec/8f/81d2aeb9cf61497143790a46724c72c503c38d8f19ec09c9ab5b7fa082b8/atomicpress-1.0.9.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "cc2bce8ed49b18573f7ea0f19c9b714b", "sha256": "e789b44ed28cea7715f83bb044ec2f67d335fab210185a76f1442401ab8d6383" }, "downloads": -1, "filename": "atomicpress-1.1.0.tar.gz", "has_sig": false, "md5_digest": "cc2bce8ed49b18573f7ea0f19c9b714b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38401, "upload_time": "2016-05-14T19:24:30", "url": "https://files.pythonhosted.org/packages/04/0d/0658831aa89f9e123f29580ae53fb48c726d29dabef9b8c4109481c9817f/atomicpress-1.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "cc2bce8ed49b18573f7ea0f19c9b714b", "sha256": "e789b44ed28cea7715f83bb044ec2f67d335fab210185a76f1442401ab8d6383" }, "downloads": -1, "filename": "atomicpress-1.1.0.tar.gz", "has_sig": false, "md5_digest": "cc2bce8ed49b18573f7ea0f19c9b714b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38401, "upload_time": "2016-05-14T19:24:30", "url": "https://files.pythonhosted.org/packages/04/0d/0658831aa89f9e123f29580ae53fb48c726d29dabef9b8c4109481c9817f/atomicpress-1.1.0.tar.gz" } ] }