{
"info": {
"author": "Subhajit Ghosh",
"author_email": "i.subhajit.ghosh@gmail.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 2 - Pre-Alpha",
"Environment :: Console",
"Intended Audience :: Developers",
"License :: OSI Approved :: Apache Software License",
"Operating System :: MacOS :: MacOS X",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3.4",
"Topic :: Internet :: WWW/HTTP",
"Topic :: Software Development :: Libraries :: Python Modules"
],
"description": "Fatafat - publish quickly!\n==========================\n\nFatafat is a minimalistic static blog generator written in Python. It is\nalso an offline blogging tool with **simple** and **quick** publishing\noptions.\n\nWith Fatafat you can ...\n------------------------\n\n- Write blog articles in Markdown.\n- Publish an article to a remote host (currently Github) using a single\n command.\n- Test changes to blog theme, blog articles in a local *dev* version of\n your blog.\n- Focus more on writing!\n\nInstallation\n------------\n\nTo install fatafat, simply:\n\n::\n\n $ pip install fatafat\n\nPrerequisites\n-------------\n\nGit\n~~~\n\nMake sure that `git `__ is installed.\n\nGenerate ssh keys\n~~~~~~~~~~~~~~~~~\n\nCurrently `Github `__ is the only remote host\nwhich is supported. To publish to Github from command line, you will\nneed to setup your ssh keys. Read details\n`here `__.\n\nCreate empty Github project\n~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nFatafat pushes to the repository *github\\_username*.github.io. Make sure\nthat the empty repository (DO NOT create the readme or the .gitignore\nfiles) is created before you use Fatafat.\n\nWhy the name \"Fatafat\"?\n-----------------------\n\nI say why not! \"Fatafat\" means \"quick\" in Hindi.\n\nFound issues?\n-------------\n\nCurrently, Fatafat is a \"toddler\" project and barely stands! But I have\nhonest plans for it. I am developing it actively and using it for my own\n`blog `__.\n\nIncase you run into issues, please\n`log `__ the same.\n\nIf you find the project useful, why not look into the issues yourself\nand send pull requests!\n\nUsage\n-----\n\nCommand Line Interface\n~~~~~~~~~~~~~~~~~~~~~~\n\nWhen installed, ``fatafat`` command is available for use. This command\ncan be used to perform various actions on the blog. Run\n``fatafat --help`` for details. To get help on individual action, run\n``fatafat --help``. Note that the ``fatafat`` command must be\nrun at the root of the directory which contains your blog.\n\nThis `cheatsheet <#cheatsheet>`__ lists all possible actions that can be\nperformed using the ``fatafat`` command.\n\nCreating a new blog\n~~~~~~~~~~~~~~~~~~~\n\nFirst create the empty Github repository *github\\_username*.github.io.\n\nTo create a new blog in ``bubblewrap`` directory:\n\n::\n\n $ mkdir bubblewrap\n $ cd bubblewrap\n $ fatafat start\n\nThe ``start`` option prompts the user for blog configuration details.\nThe following details are requested:\n\n- blog title - title of your blog\n- production URL - remote URL of your blog. Eg. http://isubuz.github.io\n- development URL - local URL of your blog. Eg. http://localhost:8000\n- github username\n- disqus sitename\n\nOnce done, the following directories will be created:\n\n::\n\n bubblewrap\n |-- contents\n |-- prod\n |-- dev\n \n\nAll articles go into the ``contents`` directory. The directory structure\nfor ``prod`` and ``dev`` is same and stores the production version and\nthe development version of the blog.\n\n::\n\n |-- config.py # blog configuration file\n |-- data # blog data files\n |-- site # static output\n | |-- README.md\n | |-- articles # generated HTML files for articles\n | |-- assets # css, js files\n |-- themes\n | |-- simi\n | | |-- assets # css, js files\n | | |-- templates # jinja2 templates\n\nThere are few important differences between the ``dev`` and the ``prod``\ndirectory.\n\n- ``config.py`` in both directories are setup such that the URLs\n generated in the static output is correct i.e. local URL for ``dev``\n and remote URL for ``prod``. This helps because you can run\n ``python -m SimpleHTTPServer`` in ``dev/site`` or ``prod/site`` to\n see and navigate through the changes you made to your blog\n- ``site`` directory in ``prod`` is a ``git`` repository.\n\nAdd a new article\n~~~~~~~~~~~~~~~~~\n\nTo add a new article, simply create a new file with ``.md`` extension\nunder ``contents``. Articles belonging to a common theme can be grouped\nin a directory. E.g.\n\n::\n\n $ cd bubblewrap\n $ vim contents/loner.md\n $ vim contents/python/meta_what.md\n $ vim contents/python/why_should_i_decorate.md\n\nEach article has associated metadata, some required and some optional.\nThe metadata starts from the first line of the document and is separated\nfrom the article content by a blank line.\n\nE.g. ``contents/loner.md`` can look like -\n\n::\n\n Title: I am a lonely article\n Summary: My story\n Date: 27-07-1983\n Status: draft\n\n I am lonely, because I am at the root!\n\n``Title`` and ``Date`` are **required**. Currently ``Date`` must be in\n``DD-MM-YYYY`` format. Support for other formats could be added later.\n\n``Summary`` and ``Status`` are optional. If ``Status`` is absent, the\narticle is considered to be published.\n\nPublish article(s)\n~~~~~~~~~~~~~~~~~~\n\nTo publish an article, ``cd`` to the root of the blog directory and run\n``fatafat publish -f `` in terminal. E.g -\n\n::\n\n $ cd \n $ fatafat publish -f contents/loner.md\n\nThat's it!\n\nThe above command will update the local development blog only. To update\nthe production blog specify option ``--prod``. To push the changes to\nGithub, specify option ``--sync``. See `cheatsheet <#cheatsheet>`__ for\nmore details.\n\n::\n\n $ cd \n $ fatafat publish -f contents/loner.md --prod --sync\n\nTo publish more than one article, pass the relative paths of the all the\narticles to the ``fatafat publish -f`` command. E.g -\n\n::\n\n $ cd \n $ fatafat publish -f contents/loner.md contents/python/meta_what.md\n\nTo publish all articles, simply use ``fatafat publish``. E.g -\n\n::\n\n $ cd \n $ fatafat publish\n\nRemoving an article\n~~~~~~~~~~~~~~~~~~~\n\nCurrently, removing an article or renaming a markdown file isn't handled\nentirely correctly. The HTML file generated for the deleted/renamed\narticle remains in the ``site`` directory and has to be removed\nmanually.\n\nThis is on the top of my list of TODOs. So it should be addressed soon.\n\nThemes\n------\n\nCurrently Fatafat comes with the default theme\n`simi `__. But you add new themes easily.\n\n- Create a directory similar to the default theme and put in under the\n ``themes`` directory of your blog.\n- Update the ``THEME`` field in ``config.py`` to use the new theme.\n\nEvery theme has two folders, ``assets`` and ``templates``. ``assets``\nstores the javascript and the css files. ``templates`` stores the jinja2\ntemplates used to generate the static output. Currently fatafat looks\nfor ``index.jinja2`` and ``article.jinja2`` under the templates\ndirectory.\n\nThe following variables are available in template ``article.jinja2``:\n\n- article.title\n- article.summary\n- article.content\n- article.date\n\nThe following variables are available in template ``index.jinja2``:\n\n- articles - which is a list of articles. Each article has the same\n attributes as above.\n\nThe following variables are available in all templates:\n\n- SITENAME - blog title\n- SITEURL - blog URL\n\nYou might have observed that the template variables names matches to\nthose in Pelican. The goal is to make pelican themes compatible with\nfatafat.\n\nCheatsheet \n-----------\n\nThe ``fatafat`` command must be run at the root of the directory which\nstores the blog files. The following commands can be run in terminal to\nperform various actions on the blog:\n\n::\n\n # Create a new blog\n $ fatafat start\n\n # Publish all articles to dev directory\n $ fatafat publish\n\n # Publish a single article to dev directory\n $ fatafat publish -f contents/article1.md\n\n # Publish multiple articles to dev directory\n $ fatafat publish -f contents/article1.md contents/group/article2.md contents/article3.md\n\n # Publish all articles to prod directory\n $ fatafat publish --prod\n\n # Publish all articles to prod directory and sync with remote host\n $ fatafat publish --prod --sync\n\n # Publish a single article to prod directory\n $ fatafat publish -f contents/article1.md --prod\n\n # Publish a single article to prod directory and sync with remote host\n $ fatafat publish -f contents/article1.md --prod --sync\n\n # Publish multiple articles to prod directory\n $ fatafat publish -f contents/article1.md contents/group/article2.md --prod\n\n # Publish multiple articles to prod directory and sync with remote host\n $ fatafat publish -f contents/article1.md contents/group/article2.md --prod --sync\n\nContact / Feedback\n------------------\n\nSend me a message at \"i DOT subhajit DOT ghosh AT gmail DOT com\" with\nany feedback.",
"description_content_type": null,
"docs_url": null,
"download_url": "UNKNOWN",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "http://github.com/isubuz/fatafat",
"keywords": null,
"license": "UNKNOWN",
"maintainer": null,
"maintainer_email": null,
"name": "fatafat",
"package_url": "https://pypi.org/project/fatafat/",
"platform": "UNKNOWN",
"project_url": "https://pypi.org/project/fatafat/",
"project_urls": {
"Download": "UNKNOWN",
"Homepage": "http://github.com/isubuz/fatafat"
},
"release_url": "https://pypi.org/project/fatafat/0.0.2/",
"requires_dist": null,
"requires_python": null,
"summary": "A static blog generator and an offline blogging tool.",
"version": "0.0.2"
},
"last_serial": 1089535,
"releases": {
"0.0.1": [
{
"comment_text": "",
"digests": {
"md5": "1cf2522c4d6099d60cf11d8bc921ae70",
"sha256": "d29cd1a73c783b026a7d454c93fe075f242c3ffc392482884893021f70d6f608"
},
"downloads": -1,
"filename": "fatafat-0.0.1-py2.7.egg",
"has_sig": false,
"md5_digest": "1cf2522c4d6099d60cf11d8bc921ae70",
"packagetype": "bdist_egg",
"python_version": "2.7",
"requires_python": null,
"size": 22126,
"upload_time": "2014-05-09T11:45:39",
"url": "https://files.pythonhosted.org/packages/f3/53/5e10a17e60b4787c3f2403e99fcb808cf5085f8fe8f9d443cafbd6894f7e/fatafat-0.0.1-py2.7.egg"
},
{
"comment_text": "",
"digests": {
"md5": "bca2a887a656bb9e0f543bf4be978e5f",
"sha256": "e30d8f124be4ba9036192a6e122deb1b2c7530082fb1252d541dd93b88f289c5"
},
"downloads": -1,
"filename": "fatafat-0.0.1.tar.gz",
"has_sig": false,
"md5_digest": "bca2a887a656bb9e0f543bf4be978e5f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13183,
"upload_time": "2014-05-09T11:46:35",
"url": "https://files.pythonhosted.org/packages/54/82/b3ccfb23e4e8e6571984c34e55677683efc9b41c04ed400fdbd9bd95f297/fatafat-0.0.1.tar.gz"
}
],
"0.0.2": [
{
"comment_text": "",
"digests": {
"md5": "fdf320f1fe025b772f939a68ca443826",
"sha256": "362b83759052532e4fec9ca70769866f90aaa10089a9ecabc65a661963609223"
},
"downloads": -1,
"filename": "fatafat-0.0.2-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "fdf320f1fe025b772f939a68ca443826",
"packagetype": "bdist_wheel",
"python_version": "2.7",
"requires_python": null,
"size": 20429,
"upload_time": "2014-05-12T14:11:58",
"url": "https://files.pythonhosted.org/packages/3d/c0/f95410989b781a38eb1fa3377a165f23d7743929236d2f14ae5056e09711/fatafat-0.0.2-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "ff88de95a1083c2d2e01757a85c2067e",
"sha256": "f51d0a081a74f3e67c15e8889ccdb3589e31dae2fd99317ba6eb4ecf0554a0c4"
},
"downloads": -1,
"filename": "fatafat-0.0.2.tar.gz",
"has_sig": false,
"md5_digest": "ff88de95a1083c2d2e01757a85c2067e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 14135,
"upload_time": "2014-05-12T14:11:45",
"url": "https://files.pythonhosted.org/packages/37/8e/45298ed1d6306b88346dcafb732a4fc68c0ea7b7f2b0735f49fb27a67770/fatafat-0.0.2.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "fdf320f1fe025b772f939a68ca443826",
"sha256": "362b83759052532e4fec9ca70769866f90aaa10089a9ecabc65a661963609223"
},
"downloads": -1,
"filename": "fatafat-0.0.2-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "fdf320f1fe025b772f939a68ca443826",
"packagetype": "bdist_wheel",
"python_version": "2.7",
"requires_python": null,
"size": 20429,
"upload_time": "2014-05-12T14:11:58",
"url": "https://files.pythonhosted.org/packages/3d/c0/f95410989b781a38eb1fa3377a165f23d7743929236d2f14ae5056e09711/fatafat-0.0.2-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "ff88de95a1083c2d2e01757a85c2067e",
"sha256": "f51d0a081a74f3e67c15e8889ccdb3589e31dae2fd99317ba6eb4ecf0554a0c4"
},
"downloads": -1,
"filename": "fatafat-0.0.2.tar.gz",
"has_sig": false,
"md5_digest": "ff88de95a1083c2d2e01757a85c2067e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 14135,
"upload_time": "2014-05-12T14:11:45",
"url": "https://files.pythonhosted.org/packages/37/8e/45298ed1d6306b88346dcafb732a4fc68c0ea7b7f2b0735f49fb27a67770/fatafat-0.0.2.tar.gz"
}
]
}