# Leykha > ### Ley-Kha · लेख · ಲೇಖ > > Leykha is an experimental toolchain to facilitate personal blogging on IPFS. You will not type a single ipfs command. ### PURPOSE: The purpose of this document is to serve as a design notes for building a personal blogging toolkit powered by IPFS. ## USER STORIES ### USER STORY 1: INSTALLATION `npm install -g leykha` As an aspiring blogger, I need to be able to download the leykha CLI into my system and accessible across my system globally. ### USER STORY 2: SETUP `leykha setup` `export LEYKHA_SECRETS=~/.leykha/credentials.json` Once leykha CLI is downloaded, I need to optionally be able to paste my credentials of the following pinning providers: 1. Infura 2. Cloudflare 3. IPFS Piñata 4. MoiBit 5. Temporal >//TODO: Add any other API based pinning platforms ### USER STORY 3: INITIALIZATION `leykha init --name "<BLOG-PROJECT-SITE-NAME>"` Once API credentials are added, I should be able to run the `init` subcommand to make sure that a new folder is created under the PWD. The new folder created will have a json/yaml file that maintains the file organization and metadata information about the site/blog/project. ### USER STORY 4: EDITING As a leykha user, I should be able to draft new blog posts/sites by writing new content in a Markdown(.md) file under folders/sub-folders of choice. `leypa add` Once the content is drafted and finalized, I should be able to run the `add` subcommand that can convert the markdown file into a static HTML webpage(.html) file. Also, based on the location of the markdown file, the json/yaml file organization tree will be updated accordingly to facilitate proper linking to new files on the site. ### USER STORY 5: PUBLISHING `leypa publish` Once done with the adding part, I should be able to run the `publish` subcommand. Internally, leypa should be able to add the converted/updated files to IPFS, pin them based on the credentials shared and confirm the publishing by returning the hash back to the console. ## FAQ **1. Will there be a DNS support?** **2. Will this enable censorship-resistant blogging? If yes, how exactly is this enabled and enforced?** **3. How can we handle copyright issues?**