Giter VIP home page Giter VIP logo

markdown2social's Introduction

Markdown2Social

The Markdown2Social utility converts simple Markdown documents to Google+ posts ready to be shared on the social network. There is room for writing output plugins for other target sites, but at the moment only Google+ is supported.

This is not an official Google product.

Why?

Long-form posts on social networks are more engaging than simply posting a bare link to the exact same content hosted elsewhere. However, composing long-form posts on social networks is not a pleasant experience because their editors are not designed to support long posts and because their formatting options are severely limited.

What if you could write that same content in a more durable and flexible format, say Markdown, and later export the text to the formats accepted by the networks of your choice? This would let you compose your posts using the myriad of editors that support Markdown, would let you store those posts in a version control system, and may even let you republish that same content directly on your site with ease.

This is exactly the goal of Markdown2Social: to let you store your articles' master copies in a version control system while providing a mechanism to extract a simplified version that can be shared in a social network. Does this work? For the most part yes, but there are obvious limitations; keep reading.

Download

The latest version of Markdown2Social is 0.3 and was released on January 14th, 2016.

Download: markdown2social-0.3

See the release notes for information about the changes in this and all previous releases.

Installation

Using pip:

$ pip install -r requirements.txt
$ pip install markdown2social

From sources after cloning the tree from GitHub:

$ pip install -r requirements.txt
$ ./setup.py install

See the detailed installation instructions for additional information.

Usage

  1. Use markdown2social as a filter or with explicit file names to generate a .gplus file:

    $ markdown2social <doc.md >doc.gplus
    $ markdown2social -o doc.gplus doc.md
  2. Open the .gplus file in your favorite editor.

  3. Copy the whole contents to the clipboard.

  4. Paste them into a new Google+ post.

  5. Hit share and voilà!

markdown2social's People

Contributors

jmmv avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

markdown2social's Issues

Add Medium output and push support

Medium now provides an API to publish posts programmatically, and what's better is that they support both Markdown and HTML as input:

https://github.com/Medium/medium-api-docs#32-posts

https://medium.com/developers/accepted-markup-for-medium-s-publishing-api-a4367010924e#.6mbsup39t

It would be great to have the ability to publish posts directly to Medium from Markdown2Social. Because our input files are Markdown, we might not need to do any conversions on them before they are pushed, but maybe we need to do some tweaks to get good-looking posts. Still to be investigated.

Add Google+ push support

Having to copy/paste the output of the tool into Google+ to create a post is quite silly. The tool could do this automatically, which would be very convenient.

There are some considerations to be made though:

  1. We need to authenticate and store an OAuth token.
  2. The user needs the ability to specify which circles, communities, or collections to share the post with. Maybe have a configuration file so these settings are permanent and consistent through all posts?

Add heading auto-numbering

We need the ability to auto-number headings in the output. There are two use-cases for this feature:

  1. Long posts. The numbering can help navigate the post and more clearly highlight where the headers are in the text. The user should be able to enable/disable the auto-numbering.
  2. Posts with more than two levels of headers. Because of the limited formatting options in the Google+ output, there is no way for the reader to differentiate headers above the third level. The tool should automatically enable auto-numbering when it detects that the headers cannot be disambiguated purely by their formatting.

Support Jekyll files as input

Jekyll files are Markdown with Front Matter. We should accept these as input as well so that Markdown2Social can be directly used with posts published via Jekyll. We just need to extract the post title from the Front Matter and use that in the output.

Would be nice if we could also deduce the permalink for the Jekyll post and add it as a footer in the output post for future reference.

Fix sdist contents

The sdist for 0.1 is broken. It misses the testdata directory so the tests are not runnable from it and none of the distribution documents were included.

To prevent this from happening again, our Travis build needs to be changed to do all of its build and test operations from an extracted sdist file, not from the checked-out source tree.

Add a manpage

There is no documentation outside of the README file and the interactive help. We should have a simple manpage to describe the interface of the tool.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.