Code Monkey home page Code Monkey logo

blmarkdown's Introduction

BLMARKDOWN

Bear Au Jus Learning Markdown (blmarkdown) is a tool used to help you documenting your learning history in rich and flavored markdown.

Latest Changelog

Release Date : 09/09/2021 v2.3

  • Bug Fixes

Installation

Get latest version of blmarkdown

pip install blmarkdown

How To Use

There is 2 main class is needed to import from blmarkdown

from blmarkdown import Learning, LearningData

Let's create our new learning variable

learning_subject = 'Python Fundamental'
author = 'Haryo Bagas Assyafah'

learning = Learning(learning_subject, author)

Now let's add some data to our learning variable

data = LearningData('Operator')
data.add('Addition')
data.add('Subtraction')
data.add('Multiplication')
data.add('Division')

learning.add(data)
data = LearningData('Control Structure', 'https://github.com/yourLink2')
data.add('Loop', ['For', 'While', 'Do While', 'For Each'])
data.add('Branching', ['If', 'Else If', 'Else'])

learning.add(data)

Let's grab the markdown from learning variable

learning.markdown()

Output

# Learning : Python Fundamental

### Learning 01 - Operator

+ Addition
+ Subtraction
+ Multiplication
+ Division

### Learning 02 - Control Structure
> Shortcut : [Link](https://github.com/yourLink2)

+ Loop
    - For
    - While
    - Do While
    - For Each
+ Branching
    - If
    - Else If
    - Else

**Haryo Bagas Assyafah** @2021 | Generated by [blmarkdown](https://github.com/bearaujus/blmarkdown) v2.3

Congratulations, you just learned how to generate markdown using blmarkdown !

But, those are just some of our features we had. You can look at List Function we had, or some example we just documented here. Happy Reading ! :D

Examples

List Function

A. Class Learning

  • A.1. Constructor
def __init__(self, learning_subject_title, credit_name, footer_data=dict()):
        self.learning_subject_title = learning_subject_title
        self.credit_name = credit_name
        self.footer_data = footer_data
        self.data = list()

Return Type : None

  • A.2. Add LearningData
def add(self, child):
        if isinstance(child, str):
            self.data.append(LearningData(child))
        elif isinstance(child, list):
            tmp = list()
            for data in child:
                if isinstance(data, LearningData):
                    tmp.append(data)
                elif isinstance(data, str):
                    tmp.append(LearningData(data))
                else:
                    raise Exception(
                        "data inside a list must an instance of 'LearningData' or 'str'")
            self.data = self.data + tmp
        elif isinstance(child, LearningData):
            self.data.append(child)
        else:
            raise Exception(
                "'child' must an instance of 'LearningData' or 'str' or 'list'")

Return Type : None

  • A.3. Preview Generated Markdown
# this function will open a new tab in your default browser for viewing the generated markdown
    def preview(self, keep_file_on_complete=False, file_name=''):
        Utill.compile_viewer(self.__generate(), keep_file_on_complete, file_name)

Return Type : None

  • A.4. Save Generated Markdown
def save_markdown(self, file_name=''):
        return Utill.save_markdown(self.__generate(), file_name)

Return Type : String

  • A.5. Get Markdown as Raw String
def get_markdown(self):
        return self.__generate()

Return Type : String

  • A.6. Print Generated Markdown
def markdown(self):
        print(self.__generate())

Return Type : None

  • A.7. Get Added Learning Data by Index
def get_child(self, index):
        return self.data[index]

Return Type : LearningData

  • A.8. Get All Index Data Inside Learning
def index(self):
        if not self.data:
            return {}
        else:
            return {idx: learning_data.title for idx, learning_data in enumerate(self.data)}

Return Type : Dict

B. Class LearningData

  • B.1. Constructor
def __init__(self, title, link=''):
        self.title = title
        self.link = link
        self.learning_data = dict()

Return Type : None

  • B.2. Add Subject
def add(self, subject, subject_data=list()):
        if not isinstance(subject, str):
            raise Exception(
                "'subject' must an instance of class 'string'. Example : Loop")
        elif not isinstance(subject_data, list):
            raise Exception(
                "'subject_data' must an instance of class 'list'. Example : ['For', 'While', 'For Each']")
        else:
            self.learning_data[subject] = subject_data

Return Type : None

  • B.3. Preview Generated Markdown
def preview(self, keep_file_on_complete=False, file_name=''):
        Utill.compile_viewer(self.__generate(),
                             keep_file_on_complete, file_name)

Return Type : None

  • B.4. Save Generated Markdown
def save_markdown(self, file_name=''):
        return Utill.save_markdown(self.__generate(), file_name)

Return Type : String

  • B.5. Get Markdown as Raw String
def get_markdown(self):
        return self.__generate()

Return Type : String

  • B.6. Print Generated Markdown
def markdown(self):
        print(self.__generate())

Return Type : None

Donation

Want bought us some coffee ? :D

  • Bitcoin (BTC)
1CCngoXD8sgbLVatc74fg1z54vbRKxTJn8
  • Ethereum (ETH)
0xec5b67e7ccffa41673e74a64d9f64ea72efc91bc

Credit

Bear Au Jus - ジュースとくま @2021

blmarkdown's People

Contributors

bearaujus avatar

Stargazers

 avatar  avatar

Watchers

 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.