{ "info": { "author": "John Weachock", "author_email": "jweachock@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7" ], "description": "# slag\n\nA fresh, static microblog system based on\n[modern block chain technologies](https://git-scm.com).\n\nSlag uses a list of Git repositories (\"streams\") to generate static HTML\nfiles. The targeted serving platform is\n[GitHub Pages](https://pages.github.com), but you can serve them however you\nwant. [Here](https://scizzorz.github.io) is an example slag\n(repository [here](https://github.com/scizzorz/scizzorz.github.io)).\n\n## Installation\n\n pip install slag\n\n## Usage\n\n slag [OPTIONS] [PATHS]...\n\n Options:\n -u, --baseurl TEXT Base URL for all internal links\n -t, --target TEXT Directory to dump rendered HTML\n -i, --include TEXT Additional directories to include\n -s, --pagesize INTEGER Number of posts to display per page\n -g, --maxparagraphs INTEGER Number of preview paragraphs to display\n -x, --hrefsuffix Remove .html suffix from internal links\n -d, --datefmt TEXT Format to pass to strftime() for dates\n -c, --config TEXT Config file to load\n\nConfig files are specified in TOML. Any options specified on the command line\noverride the options specified in the config file. By default, a file named\n`slag.toml` is loaded as the config.\n\n## Streams\n\nEach source repository is used as a different \"stream\" of posts. Slag generates\na \"post\" from each commit in the stream repositories, except those that having\na leading `!` in their commit message. A chronologically descending list of\nposts is generated for each individual stream as well as a single combined list\nof all streams.\n\nEach post pulls its author, timestamp, URL slug, title, and body from the\ncommit information. The first line of the commit message is used as the post\ntitle, while the rest are used as the post body. Content is formatted using\n[Python Markdown](https://pypi.org/project/Markdown/). A number of paragraphs\n(specified by `--maxparagraphs`, defaults to `1`) are used as 'preview'\nparagraphs in the list views.\n\n### Markdown Extensions\n\nSlag supports some \"extensions\" (I guess you can call them that?) to work\naround some of the features of Git that aren't super ideal\nin a blogging system.\n\n#### `!file` or `!code`\n\nIf a paragraph starts with `!file` or `!code` followed by a file path that\nexists in that commit's repository, Slag will expand the `!file` declaration\ninto a [syntax-highlighted](http://pygments.org) code block. Slag uses the\nversion of the file at its current `HEAD` rather than the version of the file\nin that commit. This works around Git's ~inability to edit the history~\nimmutable history feature.\n\n#### `!md`\n\nLike the `!file` extension, if a paragraph starts with `!md` and a file path,\nthe paragraph is expanded to the contents of the given file and then rendered as\nMarkdown. Again, Slag uses the version of the file at its current `HEAD`,\nenabling you edit posts without having to change your URLs. ~However, the act of\nediting a file will require a commit to the repository, which will then be used\nas a new post... so it's not a totally fool-proof workaround. Tough.~ Fixed:\ngive your edit commit a leading `!` and Slag will ignore it.\n\n## Motivation\n\nSlag started as a personal shitpost project but it actually doesn't seem\nterrible. Some features of Git are fairly amenable to use in a blog engine like\nthis, like me not having to write some database schema or clever file system\nlayout to generate content from. Plus, it's easy to pull on guest authors or\neven include someone else's content in your own slag by adding it as a\nsubmodule. Neat.\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/scizzorz/slag", "keywords": "", "license": "MIT", "maintainer": "John Weachock", "maintainer_email": "jweachock@gmail.com", "name": "slag", "package_url": "https://pypi.org/project/slag/", "platform": "", "project_url": "https://pypi.org/project/slag/", "project_urls": { "Homepage": "https://github.com/scizzorz/slag", "Repository": "https://github.com/scizzorz/slag" }, "release_url": "https://pypi.org/project/slag/0.4.0/", "requires_dist": [ "attrs (>=19.1,<20.0)", "click (>=7.0,<8.0)", "Jinja2 (>=2.10.1,<3.0.0)", "Markdown (>=3.1,<4.0)", "Pygments (>=2.4,<3.0)", "toml (>=0.10.0,<0.11.0)", "pygit2 (==0.27.4)" ], "requires_python": ">=3.7,<4.0", "summary": "A distributed micro-blog social network on the blockchain.", "version": "0.4.0" }, "last_serial": 5412841, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "e22c5f191a1bfb880941fcd6b915b5e9", "sha256": "8389d2de6ffb7e317b498aa28a7d640b7b033ab4db59ac08df58aff078df3f90" }, "downloads": -1, "filename": "slag-0.1.0.tar.gz", "has_sig": false, "md5_digest": "e22c5f191a1bfb880941fcd6b915b5e9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13684, "upload_time": "2018-04-28T01:41:45", "url": "https://files.pythonhosted.org/packages/c5/2d/a12cb049ac2bb935b9c6eca7f08d93a5e7bfc0c67d4187ba4c9d69a87863/slag-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "042ab5cb9e8f6accbc91ad598f7f8802", "sha256": "39864ea50a161a2d43373759eeec0b76ce90e640398ea6fcebde68f5f28ec975" }, "downloads": -1, "filename": "slag-0.1.1.tar.gz", "has_sig": false, "md5_digest": "042ab5cb9e8f6accbc91ad598f7f8802", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13679, "upload_time": "2018-04-28T01:48:29", "url": "https://files.pythonhosted.org/packages/00/57/642850678b56ae79aed545d6165803622d6d9f6ea60873d72867aae8213a/slag-0.1.1.tar.gz" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "1aa69b73d8cc9a002c89de4586c617eb", "sha256": "cd9b844c8104c0aa0e844ff3311993cede33dbe950a1352d89470cac3206314a" }, "downloads": -1, "filename": "slag-0.1.10.tar.gz", "has_sig": false, "md5_digest": "1aa69b73d8cc9a002c89de4586c617eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13683, "upload_time": "2018-04-28T02:58:10", "url": "https://files.pythonhosted.org/packages/31/b9/e6a30fc410325b535156996af26173e70c7ee2310ddf01f86a801ed59e84/slag-0.1.10.tar.gz" } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "1cf9eaa44fb39a19e726000ee724b2be", "sha256": "2913e353e8c690cf89447de25912914b248fc9e37a5416005c06f931e74006ea" }, "downloads": -1, "filename": "slag-0.1.11.tar.gz", "has_sig": false, "md5_digest": "1cf9eaa44fb39a19e726000ee724b2be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13710, "upload_time": "2018-04-28T03:12:49", "url": "https://files.pythonhosted.org/packages/8c/de/cf624a0fcf15937fb639073668d4f24c3143c7ae358b09b8a29733aff66d/slag-0.1.11.tar.gz" } ], "0.1.12": [ { "comment_text": "", "digests": { "md5": "042476413c78c21dc017fce821c87790", "sha256": "7d5b43a952109cdf739128cf5dcb3cbf701dc0fcf7bf78dacc6d60ba504cf1ab" }, "downloads": -1, "filename": "slag-0.1.12.tar.gz", "has_sig": false, "md5_digest": "042476413c78c21dc017fce821c87790", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13713, "upload_time": "2018-04-28T03:54:35", "url": "https://files.pythonhosted.org/packages/24/2b/cbf50439d1f7a798174b1d6ee887f515b567be6542e4f4b1edfa2bace4a7/slag-0.1.12.tar.gz" } ], "0.1.13": [ { "comment_text": "", "digests": { "md5": "c2cafd112ff4fcbf791c19e82466cc18", "sha256": "a19c145f8694117275c7d8085a7677cf55a61f04fe22c0bb51fe43879564375f" }, "downloads": -1, "filename": "slag-0.1.13.tar.gz", "has_sig": false, "md5_digest": "c2cafd112ff4fcbf791c19e82466cc18", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13997, "upload_time": "2018-04-28T14:13:47", "url": "https://files.pythonhosted.org/packages/26/15/aac98f22f3f7449941f38ff094c93725a3e8bd5081b10fd4e396142aa527/slag-0.1.13.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "049e6dc3e64d1544b90628b88099ef21", "sha256": "4777bf65a67e2fa9af5ef14b814713127a4b5d2be8675cf1b31fdcd94b8749cb" }, "downloads": -1, "filename": "slag-0.1.2.tar.gz", "has_sig": false, "md5_digest": "049e6dc3e64d1544b90628b88099ef21", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13686, "upload_time": "2018-04-28T02:31:39", "url": "https://files.pythonhosted.org/packages/a9/c7/075f8b25eb27b6dd5ebd9623f3fa9eb6b01db28a982c4c3a844e63e10b0b/slag-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "059e5f8a738ec23dae007f32cd3b8424", "sha256": "d3a15f295628178257676f9bcb754e4f73e8e4f931a94997cfc35b49da310e5c" }, "downloads": -1, "filename": "slag-0.1.3.tar.gz", "has_sig": false, "md5_digest": "059e5f8a738ec23dae007f32cd3b8424", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13754, "upload_time": "2018-04-28T02:39:44", "url": "https://files.pythonhosted.org/packages/4d/d0/87459f0bd67003b72d9c15313e5b88a5d4f77cbec30eeb86ff53d9744952/slag-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "a2af94c43d1b688bcc49ea908ce452a3", "sha256": "b859652bdda6bf1841fd1389a64f6c5f03f0f36f4496724744a7f550acbfd005" }, "downloads": -1, "filename": "slag-0.1.4.tar.gz", "has_sig": false, "md5_digest": "a2af94c43d1b688bcc49ea908ce452a3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13723, "upload_time": "2018-04-28T02:44:39", "url": "https://files.pythonhosted.org/packages/44/e2/060dde086403914dce348445228f97eaff5d9a6335527dfd5a678fcdaef0/slag-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "d29773c515201948d3bea19d86f513ed", "sha256": "4c790798d01ae6a90555dca692f50e3b2bf18be21f70b1dca20c93cdd96ab115" }, "downloads": -1, "filename": "slag-0.1.5.tar.gz", "has_sig": false, "md5_digest": "d29773c515201948d3bea19d86f513ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13734, "upload_time": "2018-04-28T02:49:54", "url": "https://files.pythonhosted.org/packages/51/db/e01266832843f557e6613a662d9f3e58ffbea89b81d65a327f03c0dfb11e/slag-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "1bde9ec28d5c221cf7cd723136c3a812", "sha256": "7a27f49fe582b53abc3d539eb31d6e5d96ba399dff7ac23638ee80feb1e40f48" }, "downloads": -1, "filename": "slag-0.1.6.tar.gz", "has_sig": false, "md5_digest": "1bde9ec28d5c221cf7cd723136c3a812", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1869, "upload_time": "2018-04-28T02:52:30", "url": "https://files.pythonhosted.org/packages/60/a9/e12aa6486130b2d5ef982d62458133d51fc143ae004bdc7719c73cb4497c/slag-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "c1089d8b93a6ff2f43d3f8cd9e37007e", "sha256": "77d59586c52f2ca782dcd1f1cbe67bead6592eb5915057b57a018a5fbce98e54" }, "downloads": -1, "filename": "slag-0.1.7.tar.gz", "has_sig": false, "md5_digest": "c1089d8b93a6ff2f43d3f8cd9e37007e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3545, "upload_time": "2018-04-28T02:54:33", "url": "https://files.pythonhosted.org/packages/e8/70/620503c9228974fd40cdd207ff2d6db689a811e40c95b026564418df61cf/slag-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "e6003213690dce8ed11116d09d36f534", "sha256": "9d6cd21c41afec1a9314e32a48a9e84a782a7b552a73aa13924e5613d34b84eb" }, "downloads": -1, "filename": "slag-0.1.8.tar.gz", "has_sig": false, "md5_digest": "e6003213690dce8ed11116d09d36f534", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3568, "upload_time": "2018-04-28T02:56:42", "url": "https://files.pythonhosted.org/packages/71/9a/09313ed0eebf2e1cb70f986e6c4b2e31e219bd5b11e49e5be7636383ffd1/slag-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "968660c0c5c0550ea48e8fd3ab29555b", "sha256": "789c33f652a97a4fcc81f568334a9f67b8b8ed7085566d53e970491d8fde75da" }, "downloads": -1, "filename": "slag-0.1.9.tar.gz", "has_sig": false, "md5_digest": "968660c0c5c0550ea48e8fd3ab29555b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3574, "upload_time": "2018-04-28T02:57:33", "url": "https://files.pythonhosted.org/packages/9e/ee/b503d5f7f50357e9631daccc6370f4bf7c968e03b844f929c22d6cffb2c4/slag-0.1.9.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "ff78ee03dbb2fb2b8de2350b57804413", "sha256": "3f04dddf866dea4fdb1d50e00e399ca78f6f026919f5a28d0ef3b40706766d2f" }, "downloads": -1, "filename": "slag-0.2.0.tar.gz", "has_sig": false, "md5_digest": "ff78ee03dbb2fb2b8de2350b57804413", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15487, "upload_time": "2018-04-29T14:34:12", "url": "https://files.pythonhosted.org/packages/6f/7e/bbd788a0ffeceaa36953401c0bcd5372caac8a39f07c7ecfd67f5e4b7d81/slag-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "70a297257946c04d27404c28e1d0c4c2", "sha256": "d3744594c0f8c9315a39c67e2877023a6cacf7635f03c1ce4769300ec39b9034" }, "downloads": -1, "filename": "slag-0.3.0.tar.gz", "has_sig": false, "md5_digest": "70a297257946c04d27404c28e1d0c4c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15655, "upload_time": "2018-04-29T21:31:38", "url": "https://files.pythonhosted.org/packages/7b/45/dee4a83e4e14c33a9ee6f2df692511cee74cbd5e10c5983831a93c4794d5/slag-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "2c9e42fb1f75e8f8693b90e891ee54e4", "sha256": "990e4e56313e4165edd8560eab6b18856baa7c2fb92e42229b2b9ad69e9260c8" }, "downloads": -1, "filename": "slag-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2c9e42fb1f75e8f8693b90e891ee54e4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 20168, "upload_time": "2019-06-18T01:14:58", "url": "https://files.pythonhosted.org/packages/ed/80/716f70955f96cba3964c417d1728e851bdf8e3d409f121f595a7254e8a0f/slag-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "161977a50e38eee12a396589cd4920b1", "sha256": "c2bb7ae3f874a4b03ff79bf82c04821802ca41826a5f1420eacffd68cccd5b95" }, "downloads": -1, "filename": "slag-0.4.0.tar.gz", "has_sig": false, "md5_digest": "161977a50e38eee12a396589cd4920b1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 19815, "upload_time": "2019-06-18T01:14:59", "url": "https://files.pythonhosted.org/packages/50/ca/5c00b9999bf20c7f4652990b0091ac29541a1f61e4f5dcf6bb8d8c3215c9/slag-0.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2c9e42fb1f75e8f8693b90e891ee54e4", "sha256": "990e4e56313e4165edd8560eab6b18856baa7c2fb92e42229b2b9ad69e9260c8" }, "downloads": -1, "filename": "slag-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2c9e42fb1f75e8f8693b90e891ee54e4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 20168, "upload_time": "2019-06-18T01:14:58", "url": "https://files.pythonhosted.org/packages/ed/80/716f70955f96cba3964c417d1728e851bdf8e3d409f121f595a7254e8a0f/slag-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "161977a50e38eee12a396589cd4920b1", "sha256": "c2bb7ae3f874a4b03ff79bf82c04821802ca41826a5f1420eacffd68cccd5b95" }, "downloads": -1, "filename": "slag-0.4.0.tar.gz", "has_sig": false, "md5_digest": "161977a50e38eee12a396589cd4920b1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 19815, "upload_time": "2019-06-18T01:14:59", "url": "https://files.pythonhosted.org/packages/50/ca/5c00b9999bf20c7f4652990b0091ac29541a1f61e4f5dcf6bb8d8c3215c9/slag-0.4.0.tar.gz" } ] }