Skip to main content

Export from jupyter notebook into hashnode blog articles

Project description

PyPI version

Jupyter2Hashnode is a useful tool for converting Jupyter Notebooks into Hashnode stories by simplifying the process of compressing images, uploading images, and publishing the story article.

See the full documentation here

How to install

    $ pip install jupyter2hashnode

Using as a command line tool

If jwt, token, publication_id arguments not passed then will use environment variables HASHNODE_JWT, HASHNODE_TOKEN, HASHNODE_PUBLICATION_ID.

Notes:

To obtain JWT: Open https://hashnode.com, account must be logged in, open DevTools of chrome browser (F12), go to Application tab, go to Cookies, find and copy value of "jwt" cookie (245 characters)

To obtain Hashnode API token: Open https://hashnode.com/settings/developer, click on "Generate New Token" button or use the existing one

To obtain Publication ID: Go to https://hashnode.com/settings/blogs, click "Dashboard" of the blog you want to upload to, copy the ID, e.g. https://hashnode.com//dashboard

Usage:

    $ jupyter2hashnode [OPTIONS] NOTEBOOK_PATH [OUTPUT_PATH]

Arguments:

  • NOTEBOOK_PATH: notebook file name or complete path [required]
  • [OUTPUT_PATH]: output folder name or complete output path where the files will be written to, if none creates output folder with the same name as the notebook file name

Options:

  • -j, --jwt TEXT: JWT token for authentication at https://hashnode.com/api/upload-image.
  • -t, --token TEXT: Token for authentication at https://api.hashnode.com mutation createPublicationStory endpoint
  • -p, --publication TEXT: ID of the Hashnode publication e.g. https://hashnode.com//dashboard
  • --title TEXT: Article title [required]
  • --hide-from-feed / --no-hide-from-feed: Hide this article from Hashnode and display it only on your blog [default: True]
  • --delete-files / --no-delete-files: Delete all files after creating the publication story [default: True]
  • --upload / --no-upload: Upload the publication story to the Hashnode server [default: True]
  • -v, --version: Show the application's version and exit.
  • --install-completion: Install completion for the current shell.
  • --show-completion: Show completion for the current shell, to copy it or customize the installation.
  • --help: Show this message and exit.

Using as a library

class Jupyter2Hashnode

Notes:

Attributes:

HASHNODE_JWT (str): JWT token for authentication at Hashnode image uploader, https://hashnode.com/api/upload-image.
HASHNODE_TOKEN (str): Token for authentication with the Hashnode server, to use https://api.hashnode.com
                            mutation createPublicationStory endpoint
HASHNODE_PUBLICATION_ID (str): ID of the Hashnode publication e.g. https://hashnode.com/<id>/dashboard

Methods:

create_publication_story(title:str, notebook_path: str, output_path:Optional[str]=None, 
                            delete_files:bool=True, upload:bool=True):
    This function is used to create a publication story on the Hashnode blog platform by 
    converting a Jupyter Notebook to a markdown file, compressing images, uploading images
    to the Hashnode server, and replacing image URLs in the markdown file.

    Parameters:
        title (str): Title of the publication story.
        notebook_path (str): Path to the Jupyter Notebook file.
        hide_from_feed (bool): Hide this article from Hashnode and display it only on your blog, Default is True.
        output_path (str, optional): Path to the output directory. Default is None.
        delete_files (bool, optional): Boolean value indicating whether to delete all files after 
                                        creating the publication story. Default is True.
        upload (bool, optional): Boolean value indicating whether to upload the publication story
                                    to the Hashnode server. Default is True.

    Returns:
        None

Usage:

    from jupyter2hashnode import Jupyter2Hashnode
        
    j2h = Jupyter2Hashnode(jwt, token, publication_id)
    j2h.create_publication_story(title, notebook_path, hide_from_feed, output_path, delete_files, upload)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jupyter2hashnode-0.1.31.tar.gz (81.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jupyter2hashnode-0.1.31-py3-none-any.whl (82.6 kB view details)

Uploaded Python 3

File details

Details for the file jupyter2hashnode-0.1.31.tar.gz.

File metadata

  • Download URL: jupyter2hashnode-0.1.31.tar.gz
  • Upload date:
  • Size: 81.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.9.2 Windows/10

File hashes

Hashes for jupyter2hashnode-0.1.31.tar.gz
Algorithm Hash digest
SHA256 2d8bd1c06d653cad428eaa55bfc2edee726f780b379f7ec2f604e811ee291909
MD5 f9c5b3fed9d5c859f76630941d77132c
BLAKE2b-256 853a76645631eb6759132637e151fdd159ec039e442d88e2d4a56842d9f6bc38

See more details on using hashes here.

File details

Details for the file jupyter2hashnode-0.1.31-py3-none-any.whl.

File metadata

  • Download URL: jupyter2hashnode-0.1.31-py3-none-any.whl
  • Upload date:
  • Size: 82.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.9.2 Windows/10

File hashes

Hashes for jupyter2hashnode-0.1.31-py3-none-any.whl
Algorithm Hash digest
SHA256 80aa48335bd8aad27f399e0d3ceb7c2d1094db8b33fece84c506ba9a5f03a5aa
MD5 3a7576d7f9e7168e014ecd865bba4f5a
BLAKE2b-256 4557b35c927e4aff5c868b58a61dc3c5927629835643017d3f942eb8685a6d6a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page