{ "info": { "author": "Sean Lanigan", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Topic :: Office/Business" ], "description": "# md2pdf Client\n\n![md2pdf icon](icon_256.png)\n\n## Introduction\n\nmd2pdf is a little project that aims to make it easy to produce\nprofessional-looking PDF documents from Markdown files via a LaTeX template and\nthe help of Pandoc.\n\nThere are several motivations for this:\n\n- Word processor software does not work very nicely with version control, plain-text Markdown files do\n- Collaborating on a single ODT/DOC file is prone to overwriting others' work\n- LibreOffice and Word both suck with automatic figure and table numbering on long files, and with TOCs etc\n- It's painful trying to keep everyone using the right font, spacing, formatting, etc. when collaborating with ODT/DOC files\n- PDF output from LibreOffice and Word often looks pretty average\n- It's distracting having to worry about formatting while writing - Markdown takes away all but the most basic formatting options to focus you on writing\n\n\nWith with an appropriate template, LaTeX PDF output is undeniably the prettiest-\nlooking way to create documents. But, learning LaTeX is hard. Markdown\nis much easier to use, and when used with Pandoc can still produce superb PDF\ndocuments. md2pdf makes it simple to manage having the right LaTeX templates and\nconfiguration across a whole team, by using a central server to do the PDF\ngeneration and then share the result with those who need it.\n\n\n## Client application\n\nThis simple Python program is the md2pdf client application. It is intended to\nbe used with an `md2pdf-webserver` instance, running locally or remotely.\nSee [the md2pdf-webserver hompage for more information](https://github.com/seanlano/md2pdf-webserver)\n\n\n## Usage\n\nUsage is quite simple, run `md2pdf-client -h` for more information:\n\n```\nmd2pdf client v1.3.0 - connect to an md2pdf server and create a PDF file\n\npositional arguments:\n FILEPATH Input Markdown file to be converted\n\noptional arguments:\n -h, --help show this help message and exit\n -c FILEPATH, --compare FILEPATH\n Activates 'compare' mode. Specify the file to compare\n changes with, e.g.: 'md2pdf-client --compare\n path/file-old.md path/file-new.md'\n --set-default OPTION VALUE\n Change a default value for an option. Use the full\n argument name, separated by a space, e.g.: '--set-\n default proto https' or '--set-default server\n 192.168.1.1:9090'\n -s ADDRESS[:PORT], --server ADDRESS[:PORT]\n Server address to request PDF generation from. Use\n hostname or IP address, and port number if required\n (i.e. '127.0.0.1:9090', or 'my-host.com:8888'). If\n port is not specified, port 80 will be used\n --proto {http,https} Protocol to use\n -t TEMPLATE, --template TEMPLATE\n Template to use, instead of the server default\n (include the file extension)\n```\n\n## Usage hints\n\n- Don't forget to set a default port when you set the default server! You probably won't be using port 80, so make sure you set it correctly, with something like `md2pdf-client --set-default server 1.2.3.4:9090` or `md2pdf-client --set-default server hostname.tld:9090`. Don't include the protocol here.\n- `md2pdf-webserver` by default doesn't do HTTPS - but it would be possible to put it behind a HTTPS reverse proxy. If that is the case, don't forget to set the default protocol with `md2pdf-client --set-default proto https`\n- If you use the `--template` option, don't forget that the template must also exist in the server - you can't use a local template (at least not yet).\n- If something doesn't work on the server end, you should get a `.log` file in the same directory as your input Markdown file - take a look in there for more information.\n- If something doesn't work on the client end, it can be helpful to run `md2pdf-client` from the command line to check the output.\n- Compare mode can only be used from the command-line, it won't show up in the \"Open With\" menu. Use the flag `--compare` followed by the path to the _old_ version, then the path to the _new_ version. The output PDF will be in the location of the new Markdown version. Images are removed in compare mode. \n\n## Installation\n\n### PyPi\n\n`md2pdf-client` is available through the [Python Package Index](https://pypi.org/project/md2pdf-client/) (PyPi), it can be installed through `pip`: \n\n```\n$ python3 -m pip install md2pdf-client\n```\n\nThis should work on Linux, Windows, and OS X (and really anywhere that Python 3 can run)\n\n### Snap Package\n\n`md2pdf-client` is available as an Ubuntu Snap package. You can install it with :\n\n```\n$ sudo snap install md2pdf-client\n```\n\nThe packaging is done automatically by Launchpad, based on the Snapcraft config [in this repo](https://github.com/seanlano/md2pdf-client-snap).\n\n### Direct Python script\n\n`md2pdf-client` can also be run as a Python script (typically only needed during development):\n\n```\npython3 -m md2pdf_client.md2pdf_client -f \n```\n\n## License\n\nThis project is released under the terms of the GNU Affero GPL version 3 (or\nlater). Please see [LICENSE](LICENSE) for details.\n\n## Thanks\n\nThe base of my (very crappy) icon is from the standard [GNOME icons](https://commons.wikimedia.org/wiki/GNOME_Desktop_icons). These are GPL licensed.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/md2x/md2pdf-client", "keywords": "", "license": "GNU Affero General Public License v3 or later", "maintainer": "", "maintainer_email": "", "name": "md2pdf-client", "package_url": "https://pypi.org/project/md2pdf-client/", "platform": "", "project_url": "https://pypi.org/project/md2pdf-client/", "project_urls": { "Homepage": "https://gitlab.com/md2x/md2pdf-client" }, "release_url": "https://pypi.org/project/md2pdf-client/1.3.3/", "requires_dist": [ "ruamel.yaml (>=0.15)", "requests (>=2.9)", "pywin32 ; platform_system == \"Windows\"" ], "requires_python": ">=3.4, <4", "summary": "Client for using an md2pdf server to render Markdown text into a pretty PDF", "version": "1.3.3" }, "last_serial": 5180802, "releases": { "1.3.0rc3": [ { "comment_text": "", "digests": { "md5": "b347de7f6b7aa961d025178ee14b3f3a", "sha256": "2324ffd46e6f2864a5456830c9097e05b8d0ab9b994e186953a830b24816ee82" }, "downloads": -1, "filename": "md2pdf_client-1.3.0rc3-py3-none-any.whl", "has_sig": false, "md5_digest": "b347de7f6b7aa961d025178ee14b3f3a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21755, "upload_time": "2019-04-18T06:23:26", "url": "https://files.pythonhosted.org/packages/e3/50/4a5e1ea3e489e865a411131d07a2e917999b1fc184c129646320aa48699f/md2pdf_client-1.3.0rc3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0fd4423c35bee56f0eb6311fe624108a", "sha256": "50a4b81ee33edc35b7d0cb4f1bc6572b151adb9e9efda00547a9e29b6c4f8f0f" }, "downloads": -1, "filename": "md2pdf_client-1.3.0rc3.tar.gz", "has_sig": false, "md5_digest": "0fd4423c35bee56f0eb6311fe624108a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9381, "upload_time": "2019-04-18T06:23:29", "url": "https://files.pythonhosted.org/packages/ea/32/9b0d714299f7a958a4da37f0ffafa7147cc699d6c20be1ea12de4a478aa8/md2pdf_client-1.3.0rc3.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "4725c6daf56b4973ad88b9a6f48078f7", "sha256": "c391d39526ab1f3bd226276c93aff788fe7527cf4ca43fbdb19e2bda8e8f7f13" }, "downloads": -1, "filename": "md2pdf_client-1.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "4725c6daf56b4973ad88b9a6f48078f7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21709, "upload_time": "2019-04-18T06:45:01", "url": "https://files.pythonhosted.org/packages/08/17/8e1fe55516577a2563af80b9669d7566cc8cfe21ec7eb69ffd1176d39909/md2pdf_client-1.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8475a4282a91b9b7b89f1c64de5defcb", "sha256": "c6c850e1b4e09892f94bad2e63b14c4f06487f398ac429bdc4c74e92d3392236" }, "downloads": -1, "filename": "md2pdf_client-1.3.1.tar.gz", "has_sig": false, "md5_digest": "8475a4282a91b9b7b89f1c64de5defcb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9357, "upload_time": "2019-04-18T06:45:03", "url": "https://files.pythonhosted.org/packages/7b/31/603532f1889687ea7a68b9612cbce6733904cb2de98f97e978f139cb48fb/md2pdf_client-1.3.1.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "df459820bcbb3520aa58ecb1782d371c", "sha256": "afdbff0a82db8e43beba8c0c2edb35f9ebe91c77448f716d67f54296d41130fd" }, "downloads": -1, "filename": "md2pdf_client-1.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "df459820bcbb3520aa58ecb1782d371c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4, <4", "size": 21765, "upload_time": "2019-04-20T03:06:00", "url": "https://files.pythonhosted.org/packages/21/4c/5a368c1a8ee48f497664bb6aebc8d14dadfd6be91a7e81fc4dad4b95b9da/md2pdf_client-1.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "08a140df6016acb94b6b6816bdf169dd", "sha256": "077f8dbd639cd975738916c9af6df81e89243ba14e8e8c8175ad0fd83e2c780b" }, "downloads": -1, "filename": "md2pdf_client-1.3.2.tar.gz", "has_sig": false, "md5_digest": "08a140df6016acb94b6b6816bdf169dd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4, <4", "size": 9421, "upload_time": "2019-04-20T03:06:02", "url": "https://files.pythonhosted.org/packages/61/6d/b083043008d7200878d34580688ca6de3b06e7b93c1892f0955547c4832b/md2pdf_client-1.3.2.tar.gz" } ], "1.3.2rc0": [ { "comment_text": "", "digests": { "md5": "6a230333900c54dc9f7b84a696124a0f", "sha256": "b22a8c280021c0aa8ddfeed0cd309f99b8cf74e37c9782b2410380e29b2e3d5f" }, "downloads": -1, "filename": "md2pdf_client-1.3.2rc0-py3-none-any.whl", "has_sig": false, "md5_digest": "6a230333900c54dc9f7b84a696124a0f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4, <4", "size": 21813, "upload_time": "2019-04-20T03:03:29", "url": "https://files.pythonhosted.org/packages/0d/37/73a231f29fa338ade68aa6e3f438dce6356dcf263d6e1138c22457c11fd6/md2pdf_client-1.3.2rc0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6e7c52de057dd3ca4c378b4580a89fe2", "sha256": "a95721e5ceb0f8eddf4ead0d83a516b2ec8307bafc8d79bd085538e636166166" }, "downloads": -1, "filename": "md2pdf_client-1.3.2rc0.tar.gz", "has_sig": false, "md5_digest": "6e7c52de057dd3ca4c378b4580a89fe2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4, <4", "size": 9425, "upload_time": "2019-04-20T03:03:31", "url": "https://files.pythonhosted.org/packages/eb/4d/12d16b6a7ae96250a9208337fe1e67e4c0edc48aa7bf2720be38c810ea19/md2pdf_client-1.3.2rc0.tar.gz" } ], "1.3.3": [ { "comment_text": "", "digests": { "md5": "ef5b8df940a9025f737e0d31190d47d2", "sha256": "31586ba92768aa1c5b50028b97c9f65e305d77e517fee513603fca9912e86c5f" }, "downloads": -1, "filename": "md2pdf_client-1.3.3-py3-none-any.whl", "has_sig": false, "md5_digest": "ef5b8df940a9025f737e0d31190d47d2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4, <4", "size": 23276, "upload_time": "2019-04-24T07:42:32", "url": "https://files.pythonhosted.org/packages/8f/3c/e139afedea37e2693d39338cd6abfc26ced3c2149f5f4d145a4c91d1f3f5/md2pdf_client-1.3.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5e09c8815e59e7f43efdafc1a5b11acc", "sha256": "a256d3108ba76f43ccc9067cf5c8d8cf7bccdd0858a0a5ff8c93354b06019383" }, "downloads": -1, "filename": "md2pdf_client-1.3.3.tar.gz", "has_sig": false, "md5_digest": "5e09c8815e59e7f43efdafc1a5b11acc", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4, <4", "size": 10167, "upload_time": "2019-04-24T07:42:33", "url": "https://files.pythonhosted.org/packages/a8/e0/9f73777e25133524a473671312069b5f2265bfd543b4939e4514ab2130b8/md2pdf_client-1.3.3.tar.gz" } ], "1.3.3rc0": [ { "comment_text": "", "digests": { "md5": "bbfdd20ead87f469d2ee6db6d22b1a59", "sha256": "c102d8bb8ef62031fc35502a42d47f37fc7549b04132b8880a465c307e483569" }, "downloads": -1, "filename": "md2pdf_client-1.3.3rc0-py3-none-any.whl", "has_sig": false, "md5_digest": "bbfdd20ead87f469d2ee6db6d22b1a59", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4, <4", "size": 23322, "upload_time": "2019-04-24T07:38:45", "url": "https://files.pythonhosted.org/packages/d5/68/151f9c88930aa7c2b429a96432bb2a44bf253ddaeedb86d511e73c191195/md2pdf_client-1.3.3rc0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3c08e6d047fd0272df2fcee11147a166", "sha256": "10e95f5b5a50136773f762ef0513ee5ba50754af4fc374a5b1008f7353fc8954" }, "downloads": -1, "filename": "md2pdf_client-1.3.3rc0.tar.gz", "has_sig": false, "md5_digest": "3c08e6d047fd0272df2fcee11147a166", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4, <4", "size": 10173, "upload_time": "2019-04-24T07:38:48", "url": "https://files.pythonhosted.org/packages/67/07/8cf4a05aeb4aa5f177857834c50d9c103ff4ed2f949b03878e6a939739e8/md2pdf_client-1.3.3rc0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ef5b8df940a9025f737e0d31190d47d2", "sha256": "31586ba92768aa1c5b50028b97c9f65e305d77e517fee513603fca9912e86c5f" }, "downloads": -1, "filename": "md2pdf_client-1.3.3-py3-none-any.whl", "has_sig": false, "md5_digest": "ef5b8df940a9025f737e0d31190d47d2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4, <4", "size": 23276, "upload_time": "2019-04-24T07:42:32", "url": "https://files.pythonhosted.org/packages/8f/3c/e139afedea37e2693d39338cd6abfc26ced3c2149f5f4d145a4c91d1f3f5/md2pdf_client-1.3.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5e09c8815e59e7f43efdafc1a5b11acc", "sha256": "a256d3108ba76f43ccc9067cf5c8d8cf7bccdd0858a0a5ff8c93354b06019383" }, "downloads": -1, "filename": "md2pdf_client-1.3.3.tar.gz", "has_sig": false, "md5_digest": "5e09c8815e59e7f43efdafc1a5b11acc", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4, <4", "size": 10167, "upload_time": "2019-04-24T07:42:33", "url": "https://files.pythonhosted.org/packages/a8/e0/9f73777e25133524a473671312069b5f2265bfd543b4939e4514ab2130b8/md2pdf_client-1.3.3.tar.gz" } ] }