Git Product home page Git Product logo

video-to-markdown's Introduction

Video to Markdown

Build Status Cloudinary PayPal.me Sponsor

Netlify Status

Add videos to your markdown files easier - https://video-to-markdown.netlify.com.

Why?

How often did you find yourself googling ¨How to embed a video in markdown?¨

While its not possible to embed a video in markdown, the best and easiest way is to extract a frame from the video, add a layer with a play icon and link the video url on the image.

Speaking HTMLese, this is what you would do:

<a href="{video-url}" title="Link Title"><img src="{image-url}" alt="Alternate Text" /></a>

that translates into markdown as:

[![Alternate Text]({image-url})]({video-url} "Link Title")

To speed up the process I developped this tool that will do it for you.

You just need to paste the video url in the field above and you will get the markdown you need.

Features

List of supported video providers:

  • Youtube
  • Facebook (low-quality)
  • Dailymotion
  • Vimeo
  • Asciinema
  • Google Drive
  • Loom
  • Wistia
  • Streamable
  • CleanShot Cloud

Hosting

First of all you need to create a Cloudinary account (I'm using this service to generate and host images) so that you can copy your personal CLOUDINARY_URL from your dashboard. The url is something similar to cloudinary://my_key:my_secret@my_cloud_name.

Now you can easily deploy your own copy on Netlify.

Deploy to Netlify

Development stuff

To run the project locally, here’s what you’ll need:

Requirements

Setup

cd into your local copy of the repository and run yarn install

cd video-to-markdown
yarn install
cp .env.sample .env
# update the .env with proper values
  • CLOUDINARY_URL ( required ) - this is the API Environment variable that you can get from your Cloudinary dashboard inside the Account Details section.
  • GA_TRACKING_ID ( optional ) - this is a Google Analytics Tracking ID. Can be used if you need to track page views and events.
  • NETLIFY_ACCESS_TOKEN ( optional ) - this a Netlify Access Token. In combination with the SITE_ID can be used to display the API Usage in the website.
  • SITE_ID ( optional ) - this the Netlify Site ID. In combination with the NETLIFY_ACCESS_TOKEN can be used to display the API Usage in the website.
  • USE_HIGH_QUALITY ( optional ) - this is a boolean flag. If true, the generated images will be stored in Contenful with hi-res quality (default to false)
yarn start

This will start the client server on http://localhost:8080, and the netlify-lambda server on http://localhost:8081.

netlify-lambda isn’t required to deploy Lambda functions to Netlify, but it offers some handy features out of the box that make it quicker to get started, like the local dev server and nice defaults for transpiling and bundling functions in production.

The client server is configured to proxy /.netlify requests to the Lambda server (see webpack.client.js). This is the same behavior the site has when it’s deployed to Netlify.

Privacy

Google Analytics is used to record the following:

All images are generated via Cloudinary and stored in it. In this way the generated images are cached so we can avoid to call Netlify functions again thus reducing the quota consumption.

By clicking on convert to markdown or consuming api you accept this terms & condition; no additional data is sent to the server.

video-to-markdown's People

Contributors

marcomontalbano avatar dependabot[bot] avatar

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.