diff --git a/.gitignore b/.gitignore index bd89927f..c23514bf 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,5 @@ MANIFEST /build/ /acrylamid.egg-info/ /src/ +venv/ +.vscode/ \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index c63e64e8..40bbde28 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,25 +1,16 @@ +dist: xenial language: python python: - - 2.6 - - 2.7 - - 3.3 + - 3.7 install: - - pip install --use-mirrors cram unidecode mako Jinja2 markdown docutils Attest-latest - - if [[ $TRAVIS_PYTHON_VERSION == '2.6' ]]; - then pip install --use-mirrors argparse ordereddict; - fi - - python setup.py -q install + - pip install flake8 +before_install: + - python -m pip install --upgrade pip wheel script: - - python setup.py test && cram specs/ + # - python setup.py test # && cram specs/ + - flake8 . --exit-zero branches: only: - master - - /^feature\/.*$/ - - /^legacy\/.*$/ -notifications: - irc: - channels: - - "irc.freenode.org#acrylamid" - on_success: change - on_failure: change - template: "%{repository} (%{commit}) : %{message}, %{build_url}" + - patch-1 + diff --git a/MANIFEST.in b/MANIFEST.in index 2550b1fd..2f5f5ff3 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,4 +1,4 @@ -include README.rst +include README.md recursive-exclude acrylamid *.pyc recursive-include acrylamid/filters/hyph *.txt @@ -6,6 +6,6 @@ recursive-include acrylamid/filters/hyph *.txt include acrylamid/lib/CHANGES include acrylamid/views/search/search.js -include acrylamid/specs/samples/blog.posativ.org.xml -include acrylamid/specs/samples/vlent.nl.xml -include acrylamid/specs/samples/thethreedevelopers.wordpress.2012-04-11.xml +include specs/samples/blog.posativ.org.xml +include specs/samples/vlent.nl.xml +include specs/samples/thethreedevelopers.wordpress.2012-04-11.xml diff --git a/README.md b/README.md new file mode 100644 index 00000000..c827fb44 --- /dev/null +++ b/README.md @@ -0,0 +1,171 @@ +Welcome to Acrylamid +==================== + +This project is no longer maintained, use at your own risk. Or fork it. + +*Notice:* + +* don't try the master branch unless you are very sure about the not + yet documented changes. +* PyPi releases (0.7.x) do not work with Python 3.3+ due dependency + pinning. The upcoming 0.8 release will drop support for 3.2, but + fully supports 3.3 and higher. +* yes, the name will change (still searching for a good name) and a + transition from "static blog generator" to "static site generator" + is already on my todo list. + +Acrylamid is a mixture of [nanoc](http://nanoc.stoneship.org), [Pyblosxom](http://pyblosxom.github.io), and [Pelican](http://blog.getpelican.com) +licensed under BSD Style, 2 clauses. It is actively developed at +https://github.com/posativ/acrylamid/. + +[![Build Status](https://travis-ci.org/farleykr/acrylamid.svg?branch=patch-1)](https://travis-ci.org/farleykr/acrylamid) + + +Why? +---- + +- it is really *fast* due incremental builds +- support for [Jinja2](http://jinja.pocoo.org/) and [Mako](http://www.makotemplates.org) templates +- many Markdown_ extensions and custom reStructuredText_ directives +- [MathML](http://www1.chapman.edu/~jipsen/mathml/asciimath.html) enhanced typography and hyphenation using soft-hyphens + +Oh, and it can also generate a static blog with articles, static pages, tags, +RSS/Atom feeds (also per tag), article listing and a sitemap. + +Why the name “Acrylamid”? +------------------------- + +I'm studying bioinformatics and I was experimenting with Acrylamide at this +time. I'm really bad at naming. If you have a better name, please tell me! +Two requirements: reasonably speakable and tab-completion after 3 characters. + +Overview +-------- + +With Acrylamid you can write your weblog entries with your editor of choice in +Markdown, reStructuredText or textile. With several content filters you can +pimp your HTML (typography, math, hyphenation). Acrylamid provides a very +sophisticated CLI and integrates perfectly with any DVCes. It generates +completely static HTML you can host everywhere. + +supported markup languages + +- [Markdown](http://daringfireball.net/projects/markdown/) and additional extensions (support for MathML_, deletion/insertion, + sub- and supscript, syntax highlighting …) +- [reStructuredText](http://docutils.sourceforge.net/rst.html) with directives for syntax highlighting and youtube video + embedding +- [textile](https://en.wikipedia.org/wiki/Textile_%28markup_language%29), [discount](http://www.pell.portland.or.us/~orc/Code/discount/), all dialects supported by [pandoc](http://johnmacfarlane.net/pandoc/) and plain HTML + +You miss one? Extend Acrylamid in [less than 30 LoC](https://posativ.org/git/acrylamid/blob/master/acrylamid/filters/pytextile.py)_! + +other filters + +- support for Jinja2 and Mako directly in postings (before they get processed) +- [typography](https://code.google.com/p/typogrify/) (and [smartypants](http://daringfireball.net/projects/smartypants/)) +- TeX hyphenation +- summarize ability +- [acronym detection](http://pyblosxom.github.io/Documentation/1.5/plugins/acronyms.html) that automatically replace acronyms and abbreviations +- [liquid plugins](http://octopress.org/docs/plugins/) ported from [Octopress](http://octopress.org/) + + +blogging features + +- you like the [YAML front matter](https://github.com/mojombo/jekyll/wiki/YAML-Front-Matter) from [Jekyll](http://jekyllrb.com/) or [nanoc](http://nanoc.stoneship.org/)? First choice in Acrylamid! +- coming from Pelican_? Acrylamid has also support for metadata in the native + format of Markdown, reStructuredText and even Pandoc. +- support for translations (oh, and did I mention the language dependend + hyphenation feature?). +- a few HTML5 themes, see [Theming](http://posativ.org/acrylamid/theming.html) +- internal webserver with automatic compiling when something has changed. +- assets management, including [LESS](http://lesscss.org/) and [SASS](http://sass-lang.com/) conversion. +- uni-directional PingBack support. +- static site search. + +Quickstart + + easy_install -U acrylamid + +This installs Acrylamid with Jinja2_ as templating engine. For Mako use: + + easy_install -U acrylamid[mako] + +This installs two additional but not required dependencies: `Markdown` and `translitcodec`. To get a list of all supported modules, head over to [additional supported modules](http://posativ.org/acrylamid/installation.html#additional-supported-modules). + +If you rather use non-ascii characters, you're better off with: + + easy_install -U acrylamid python-magic unidecode + +Initialize the base structure, edit *conf.py* and *layouts/* and compile with: + + $ acrylamid init myblog # --mako, defaults to --jinja2 + create myblog/conf.py + ... + $ cd myblog/ + $ acrylamid compile && acrylamid view + create [0.05s] output/articles/index.html + create [0.37s] output/2012/die-verwandlung/index.html + create [0.00s] output/index.html + create [0.00s] output/tag/die-verwandlung/index.html + create [0.00s] output/tag/franz-kafka/index.html + create [0.03s] output/atom/index.html + create [0.04s] output/rss/index.html + create [0.00s] output/sitemap.xml + create output/style.css + 9 new, 0 updated, 0 skipped [0.72s] + * Running on http://127.0.0.1:8000/ + +Real World Examples? + +- [Practicing web development](http://www.vlent.nl/) – Mark van Lent + [source ] + +- [mecker. mecker. mecker. ](http://blog.posativ.org) – Martin Zimmermann + [source https://github.com/posativ/blog.posativ.org/] + +- [Groovematic](http://groovematic.com/) – Isman Firmansyah + [`source https://github.com/iromli/groovematic] + +- [Christoph Polcin](http://www.christoph-polcin.com/) – Christoph Polcin + [source http://git.christoph-polcin.com/blog/, theme http://git.christoph-polcin.com/acrylamid-theme-bipolar/] + +- [Knitatoms](http://knitatoms.net) – Tom Atkins + [source https://github.com/knitatoms/knitatoms.net] + +- [blubee.me](http://blubee.me) – Owen Hogarth + [source https://github.com/teamblubee/http-blubee.me] + +Commands +-------- + +See [commands](https://posativ.org/acrylamid/commands.html) for a detailed +overview. + + $ acrylamid --help + usage: acrylamid [-h] [-v] [-q] [-C] [--version] ... + + positional arguments: + + init initializes base structure in DIR + compile compile blog + view fire up built-in webserver + autocompile automatic compilation and serving + new create a new entry + check run W3C or validate links + deploy run task + import import content from URL or FILE + info short summary + ping notify ressources + + optional arguments: + -h, --help show this help message and exit + -v, --verbose more verbose + -q, --quiet less verbose + -C, --no-color disable color + --version show program's version number and exit + +Need Help? +---------- + +Join ``#acrylamid`` on [Freenode](http://freenode.net/)! If you found a bug, please report it on +[GitHub Issues](https://github.com/posativ/acrylamid/issues?state=open). The project has also a mailing list [Archive_], just send +an email to [acrylamid@librelist.com](http://librelist.com/browser/acrylamid/) and you have subscribed. diff --git a/README.rst b/README.rst deleted file mode 100644 index 43853f52..00000000 --- a/README.rst +++ /dev/null @@ -1,239 +0,0 @@ -Welcome to Acrylamid -==================== - -This project is no longer maintained, use at your own risk. Or fork it. - -*Notice:* - -* don't try the master branch unless you are very sure about the not - yet documented changes. -* PyPi releases (0.7.x) do not work with Python 3.3+ due dependency - pinning. The upcoming 0.8 release will drop support for 3.2, but - fully supports 3.3 and higher. -* yes, the name will change (still searching for a good name) and a - transition from "static blog generator" to "static site generator" - is already on my todo list. - -Acrylamid is a mixture of `nanoc `_, `Pyblosxom -`_ and `Pelican `_ -licensed under BSD Style, 2 clauses. It is actively developed at -https://github.com/posativ/acrylamid/. - -|Build Status|_ - -.. _Build Status: http://travis-ci.org/posativ/acrylamid -.. |Build Status| image:: https://secure.travis-ci.org/posativ/acrylamid.png?branch=master - - -Why? ----- - -- it is really *fast* due incremental builds -- support for Jinja2_ and Mako_ templates -- many Markdown_ extensions and custom reStructuredText_ directives -- MathML_, enhanced typography and hyphenation using soft-hyphens - -Oh, and it can also generate a static blog with articles, static pages, tags, -RSS/Atom feeds (also per tag), article listing and a sitemap. - -.. _Jinja2: http://jinja.pocoo.org/ -.. _Mako: http://www.makotemplates.org/ -.. _MathML: http://www1.chapman.edu/~jipsen/mathml/asciimath.html - -Why the name “Acrylamid”? -------------------------- - -I'm studying bioinformatics and I was experimenting with Acrylamide at this -time. I'm really bad at naming. If you have a better name, please tell me! -Two requirements: reasonably speakable and tab-completion after 3 characters. - -Overview --------- - -With Acrylamid you can write your weblog entries with your editor of choice in -Markdown, reStructuredText or textile. With several content filters you can -pimp your HTML (typography, math, hyphenation). Acrylamid provides a very -sophisticated CLI and integrates perfectly with any DVCes. It generates -completely static HTML you can host everywhere. - -supported markup languages -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -- Markdown_ and additional extensions (support for MathML_, deletion/insertion, - sub- and supscript, syntax highlighting …) -- reStructuredText_ with directives for syntax highlighting and youtube video - embedding -- textile_, discount_, all dialects supported by pandoc_ and plain HTML - -You miss one? Extend Acrylamid in `less than 30 LoC`_! - -.. _Markdown: http://daringfireball.net/projects/markdown/ -.. _reStructuredText: http://docutils.sourceforge.net/rst.html -.. _textile: https://en.wikipedia.org/wiki/Textile_%28markup_language%29 -.. _discount: http://www.pell.portland.or.us/~orc/Code/discount/ -.. _pandoc: http://johnmacfarlane.net/pandoc/ -.. _less than 30 LoC: https://posativ.org/git/acrylamid/blob/master/acrylamid/filters/pytextile.py - -other filters -~~~~~~~~~~~~~ - -- support for Jinja2 and Mako directly in postings (before they get processed) -- typography_ (and smartypants_) -- TeX hyphenation -- summarize ability -- `acronym detection`_ that automatically replace acronyms and abbreviations -- `liquid plugins`_ ported from `Octopress `_ - -.. _typography: https://code.google.com/p/typogrify/ -.. _smartypants: http://daringfireball.net/projects/smartypants/ -.. _acronym detection: http://pyblosxom.github.io/Documentation/1.5/plugins/acronyms.html -.. _liquid plugins: http://octopress.org/docs/plugins/ - -blogging features -~~~~~~~~~~~~~~~~~ - -- you like the `YAML front matter`_ from Jekyll_ or nanoc_? First choice in Acrylamid! -- coming from Pelican_? Acrylamid has also support for metadata in the native - format of Markdown, reStructuredText and even Pandoc. -- support for translations (oh, and did I mention the language dependend - hyphenation feature?). -- a few HTML5 themes, see `Theming `_. -- internal webserver with automatic compiling when something has changed. -- assets management, including LESS_ and SASS_ conversion. -- uni-directional PingBack support. -- static site search. - -.. _YAML front matter: https://github.com/mojombo/jekyll/wiki/YAML-Front-Matter -.. _Jekyll: http://jekyllrb.com/ -.. _nanoc: http://nanoc.stoneship.org/ -.. _LESS: http://lesscss.org/ -.. _SASS: http://sass-lang.com/ - -what is missing -~~~~~~~~~~~~~~~ - -- No comments. You have to use Disqus_, Isso_ or `this approach`_. - -.. _Disqus: http://disqus.com/ -.. _Isso: https://github.com/posativ/isso -.. _this approach: http://hezmatt.org/~mpalmer/blog/2011/07/19/static-comments-in-jekyll.html -.. _Sphinx: http://sphinx.pocoo.org/latest/ - -Quickstart ----------- - -:: - - easy_install -U acrylamid - -This installs Acrylamid with Jinja2_ as templating engine. For Mako_ use -``easy_install -U acrylamid[mako]``. This installs two additional but not -required dependencies: ``Markdown`` and ``translitcodec``. To get a list of -all supported modules, head over to `additional supported modules`_. - -If you rather use non-ascii characters, you're better off with: - -:: - - easy_install -U acrylamid python-magic unidecode - -.. _additional supported modules: http://posativ.org/acrylamid/installation.html#additional-supported-modules - -Initialize the base structure, edit *conf.py* and *layouts/* and compile with: - -:: - - $ acrylamid init myblog # --mako, defaults to --jinja2 - create myblog/conf.py - ... - $ cd myblog/ - $ acrylamid compile && acrylamid view - create [0.05s] output/articles/index.html - create [0.37s] output/2012/die-verwandlung/index.html - create [0.00s] output/index.html - create [0.00s] output/tag/die-verwandlung/index.html - create [0.00s] output/tag/franz-kafka/index.html - create [0.03s] output/atom/index.html - create [0.04s] output/rss/index.html - create [0.00s] output/sitemap.xml - create output/style.css - 9 new, 0 updated, 0 skipped [0.72s] - * Running on http://127.0.0.1:8000/ - -Real World Examples? -~~~~~~~~~~~~~~~~~~~~ - -- `Practicing web development `_ – Mark van Lent - [`source `__] -- `mecker. mecker. mecker. `_ – Martin Zimmermann - [`source `__] -- `Groovematic `_ – Isman Firmansyah - [`source `__] -- `Christoph Polcin `_ – Christoph Polcin - [`source `__, `theme `__] -- `Knitatoms `_ – Tom Atkins - [`source `__] -- `blubee.me `_ – Owen Hogarth - [`source `__] - -Commands --------- - -See `commands `_ for a detailed -overview. - -:: - - $ acrylamid --help - usage: acrylamid [-h] [-v] [-q] [-C] [--version] ... - - positional arguments: - - init initializes base structure in DIR - compile compile blog - view fire up built-in webserver - autocompile automatic compilation and serving - new create a new entry - check run W3C or validate links - deploy run task - import import content from URL or FILE - info short summary - ping notify ressources - - optional arguments: - -h, --help show this help message and exit - -v, --verbose more verbose - -q, --quiet less verbose - -C, --no-color disable color - --version show program's version number and exit - -Need Help? ----------- - -Join ``#acrylamid`` on Freenode_! If you found a bug, please report it on -`GitHub Issues`_. The project has also a mailing list [Archive_], just send -an email to ``acrylamid@librelist.com`` and you have subscribed . - -.. _Freenode: http://freenode.net/ -.. _Github Issues: https://github.com/posativ/acrylamid/issues?state=open -.. _Archive: http://librelist.com/browser/acrylamid/ - -How to contribute ------------------ - -Communication. Beside that, I am open for most enhancements, just -two requirements: - -* resepect PEP-8 (max line length may vary, but use 80 as your soft limit - and 100 as your hard limit; 105 for ugly ``if`` linebreaks though). -* I prefer clear code (early return instead of nested else etc.) and concise - variable (and configuration) names. Also: ``@[cached_]property`` is way - better than `get_thing(self)`. - -Be aware, that the current master has been quite diverged from the PyPi -release (legacy/0.7 branch). If you are going to fix a bug, branch off -the legacy branch. On the other hand, if you want to contribute features, -branch off the master branch, but expect things to be changed/broken/removed. - -The master branch features a 2.6/2.7/3.3 unified code base, please have a look -at the ``acrylamid.compat`` module (e.g. `map`, `filter` etc). diff --git a/acrylamid/filters/acronyms.py b/acrylamid/filters/acronyms.py index 142897d5..0bf45881 100644 --- a/acrylamid/filters/acronyms.py +++ b/acrylamid/filters/acronyms.py @@ -18,7 +18,7 @@ from acrylamid.compat import iteritems, filter from acrylamid.filters import Filter -from acrylamid.lib.html import HTMLParser, HTMLParseError +from acrylamid.lib.html import HTMLParser class Acrynomify(HTMLParser): @@ -103,7 +103,7 @@ def repl(match): try: return ''.join(Acrynomify(text, abbr, repl).result) - except HTMLParseError: + except: log.exception('could not acronymize ' + entry.filename) return text diff --git a/acrylamid/filters/hyphenation.py b/acrylamid/filters/hyphenation.py index de193b36..f3c5a917 100644 --- a/acrylamid/filters/hyphenation.py +++ b/acrylamid/filters/hyphenation.py @@ -6,7 +6,7 @@ from acrylamid.filters import Filter from acrylamid.compat import filter, text_type as str -from acrylamid.lib.html import HTMLParser, HTMLParseError +from acrylamid.lib.html import HTMLParser import os import io @@ -193,6 +193,6 @@ def transform(self, content, entry, *args): try: return ''.join(Separator(content, hyphenate_word, length=length).result) - except HTMLParseError as e: + except: log.exception('could not hyphenate ' + entry.filename) return content diff --git a/acrylamid/filters/intro.py b/acrylamid/filters/intro.py index c2d7d4b1..911c4f25 100644 --- a/acrylamid/filters/intro.py +++ b/acrylamid/filters/intro.py @@ -5,7 +5,7 @@ from acrylamid import log, helpers from acrylamid.filters import Filter -from acrylamid.lib.html import HTMLParser, HTMLParseError +from acrylamid.lib.html import HTMLParser class Introducer(HTMLParser): @@ -95,7 +95,7 @@ def transform(self, content, entry, *args): try: return ''.join(Introducer( content, maxparagraphs, self.env.path+entry.permalink, options).result) - except HTMLParseError as e: + except: log.exception('could not extract intro from ' + entry.filename) return content return content diff --git a/acrylamid/filters/relative.py b/acrylamid/filters/relative.py index 7e9c6834..1a76225e 100644 --- a/acrylamid/filters/relative.py +++ b/acrylamid/filters/relative.py @@ -6,7 +6,7 @@ from acrylamid import log from acrylamid.filters import Filter from acrylamid.helpers import joinurl -from acrylamid.lib.html import HTMLParser, HTMLParseError +from acrylamid.lib.html import HTMLParser class Href(HTMLParser): @@ -51,7 +51,7 @@ def relatively(part): try: return ''.join(Href(text, relatively).result) - except HTMLParseError as e: + except: log.warn('%s: %s in %s' % (e.__class__.__name__, e.msg, entry.filename)) return text @@ -80,6 +80,6 @@ def absolutify(part): try: return ''.join(Href(text, absolutify).result) - except HTMLParseError as e: + except: log.warn('%s: %s in %s' % (e.__class__.__name__, e.msg, entry.filename)) return text diff --git a/acrylamid/filters/strip.py b/acrylamid/filters/strip.py index 10fa335e..cf59504e 100644 --- a/acrylamid/filters/strip.py +++ b/acrylamid/filters/strip.py @@ -6,7 +6,7 @@ from acrylamid import log from acrylamid.filters import Filter -from acrylamid.lib.html import HTMLParser, HTMLParseError +from acrylamid.lib.html import HTMLParser class Text(HTMLParser): @@ -55,6 +55,6 @@ def transform(self, content, entry, *args): try: return ''.join(Text(content, args).result) - except HTMLParseError: + except: log.exception('could not strip ' + entry.filename) return content diff --git a/acrylamid/filters/summarize.py b/acrylamid/filters/summarize.py index 0bb5a1f7..2fb58764 100644 --- a/acrylamid/filters/summarize.py +++ b/acrylamid/filters/summarize.py @@ -6,7 +6,7 @@ from acrylamid import log, helpers from acrylamid.filters import Filter -from acrylamid.lib.html import HTMLParser, HTMLParseError +from acrylamid.lib.html import HTMLParser class Summarizer(HTMLParser): @@ -130,6 +130,6 @@ def transform(self, content, entry, *args): try: return ''.join(Summarizer( content, maxwords, self.env.path+entry.permalink, options).result) - except HTMLParseError: + except: log.exception('could not summarize ' + entry.filename) return content diff --git a/acrylamid/lib/html.py b/acrylamid/lib/html.py index 410bcc0d..90da093f 100644 --- a/acrylamid/lib/html.py +++ b/acrylamid/lib/html.py @@ -23,12 +23,8 @@ from cgi import escape from acrylamid.compat import PY2K, unichr -if PY2K: - from HTMLParser import HTMLParser as DefaultParser, HTMLParseError - from htmlentitydefs import name2codepoint -else: - from html.parser import HTMLParser as DefaultParser, HTMLParseError - from html.entities import name2codepoint +from html.parser import HTMLParser as DefaultParser +from html.entities import name2codepoint def unescape(s): @@ -112,4 +108,4 @@ def handle_comment(self, comment): """Preserve HTML comments.""" self.result.append('') -__all__ = ['HTMLParser', 'HTMLParseError', 'unescape'] +__all__ = ['HTMLParser', 'unescape'] diff --git a/dist/acrylamid-0.8.dev0-py3.7.egg b/dist/acrylamid-0.8.dev0-py3.7.egg new file mode 100644 index 00000000..8ad52df9 Binary files /dev/null and b/dist/acrylamid-0.8.dev0-py3.7.egg differ diff --git a/requirements.txt b/requirements.txt index 38552d3d..0536ce46 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,22 +1,49 @@ -# testing -Attest-latest==0.6dev-20121124 -cram==0.5 -tox==1.4.2 - -# releasing -zest.releaser - -# requirements -Jinja2==2.6 -Markdown==2.2.1 -translitcodec==0.3 - -# optional -Mako==0.7.3 -Pygments==1.6rc1 -docutils==0.10 - -# docs -Sphinx==1.1.3 -sphinxcontrib-blockdiag==1.2.0 -blockdiag==1.2.4 +Attest-latest==0.6.1.dev20130603 +Babel==2.6.0 +bleach==3.1.0 +blockdiag==1.5.4 +certifi==2019.3.9 +chardet==3.0.4 +colorama==0.4.1 +cram==0.7 +docutils==0.14 +filelock==3.0.10 +funcparserlib==0.3.6 +idna==2.8 +imagesize==1.1.0 +Jinja2==2.10.1 +Mako==1.0.9 +Markdown==3.1 +MarkupSafe==1.1.1 +packaging==19.0 +Pillow==6.0.0 +pkginfo==1.5.0.1 +pluggy==0.9.0 +progressbar-latest==2.4 +py==1.8.0 +Pygments==2.3.1 +pyparsing==2.4.0 +pytz==2019.1 +readme-renderer==24.0 +requests==2.21.0 +requests-toolbelt==0.9.1 +six==1.12.0 +snowballstemmer==1.2.1 +Sphinx==2.0.1 +sphinxcontrib-applehelp==1.0.1 +sphinxcontrib-blockdiag==1.5.5 +sphinxcontrib-devhelp==1.0.1 +sphinxcontrib-htmlhelp==1.0.2 +sphinxcontrib-jsmath==1.0.1 +sphinxcontrib-qthelp==1.0.2 +sphinxcontrib-serializinghtml==1.1.3 +toml==0.10.0 +tox==3.9.0 +tqdm==4.31.1 +translitcodec==0.4.0 +twine==1.13.0 +urllib3==1.24.2 +virtualenv==16.5.0 +webcolors==1.8.1 +webencodings==0.5.1 +zest.releaser==6.18.2 diff --git a/setup.py b/setup.py index 6ab9b824..4a0fce68 100755 --- a/setup.py +++ b/setup.py @@ -3,7 +3,7 @@ import sys import re -from os.path import join, dirname +import pathlib from setuptools import setup, find_packages requires = ['Jinja2>=2.4', 'Markdown>=2.0.1', 'unidecode>=0.04.13'] @@ -14,6 +14,12 @@ if sys.platform == 'win32': requires.append('colorama') +# The directory containing this file +HERE = pathlib.Path(__file__).parent + +# The text of the README file +README = (HERE / 'README.md').read_text(encoding="utf-8") + setup( name='acrylamid', version='0.8.dev0', @@ -25,7 +31,8 @@ url='http://posativ.org/acrylamid/', license='BSD revised', description='static blog compiler with incremental updates', - long_description=open(join(dirname(__file__), 'README.rst')).read(), + long_description=README, + long_description_content_type="text/markdown", classifiers=[ "Development Status :: 4 - Beta", "Topic :: Internet", diff --git a/tox.ini b/tox.ini deleted file mode 100755 index 18165d0d..00000000 --- a/tox.ini +++ /dev/null @@ -1,37 +0,0 @@ -[tox] -envlist = py26,py27,py33 -[testenv:py26] -deps= - Attest-latest - translitcodec - Jinja2 - argparse - ordereddict - docutils - markdown - unidecode - mako - cram -[testenv:py27] -deps= - Attest-latest - translitcodec - Jinja2 - markdown - docutils - unidecode - mako - cram -[testenv:py33] -deps= - Attest-latest - https://github.com/mgax/jinja2/archive/bccache-unicode.zip - markdown - docutils - unidecode - mako - cram -[testenv] -commands= - python setup.py test - # cram acrylamid/specs