Package: blmarkdown
BLMARKDOWNBear Au Jus Learning Markdown (blmarkdown) is a tool used to help you documenting your learning history in rich and flavored markdown.Github Directoryhttps://github.com/bearaujus/blmarkdownPyPIhttps://pypi.org/project/blmarkdown/Latest ChangelogRelease Date : 09/09/2021v2.3Bug FixesInstallationGet latest version of blmarkdownpip install blmarkdownHow To UseThere is2 main classis needed to import fromblmarkdownfrom blmarkdown import Learning, LearningDataLet's create our newlearningvariablelearning_subject = 'Python Fundamental'
author = 'Haryo Bagas Assyafah'

learning = Learning(learning_subject, author)Now let'sadd some datato ourlearningvariabledata = 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'sgrab the markdownfromlearningvariablelearning.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.3Congratulations, you just learned how to generate markdown usingblmarkdown!But, those are justsome of our featureswe had. You can look atList Functionwe had, or someexamplewe just documented here.Happy Reading! :DExamplesSimpleLinkAdvancedLinkReal LifeLink|Output Markdown|Output FolderList FunctionA. Class LearningA.1. Constructordef __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 :NoneA.2. Add LearningDatadef 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 :NoneA.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 :NoneA.4. Save Generated Markdowndef save_markdown(self, file_name=''):
        return Utill.save_markdown(self.__generate(), file_name)Return Type :StringA.5. Get Markdown as Raw Stringdef get_markdown(self):
        return self.__generate()Return Type :StringA.6. Print Generated Markdowndef markdown(self):
        print(self.__generate())Return Type :NoneA.7. Get Added Learning Data by Indexdef get_child(self, index):
        return self.data[index]Return Type :LearningDataA.8. Get All Index Data Inside Learningdef index(self):
        if not self.data:
            return {}
        else:
            return {idx: learning_data.title for idx, learning_data in enumerate(self.data)}Return Type :DictB. Class LearningDataB.1. Constructordef __init__(self, title, link=''):
        self.title = title
        self.link = link
        self.learning_data = dict()Return Type :NoneB.2. Add Subjectdef 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_dataReturn Type :NoneB.3. Preview Generated Markdowndef preview(self, keep_file_on_complete=False, file_name=''):
        Utill.compile_viewer(self.__generate(),
                             keep_file_on_complete, file_name)Return Type :NoneB.4. Save Generated Markdowndef save_markdown(self, file_name=''):
        return Utill.save_markdown(self.__generate(), file_name)Return Type :StringB.5. Get Markdown as Raw Stringdef get_markdown(self):
        return self.__generate()Return Type :StringB.6. Print Generated Markdowndef markdown(self):
        print(self.__generate())Return Type :NoneDonationWant bought us some coffee ? :DBitcoin (BTC)1CCngoXD8sgbLVatc74fg1z54vbRKxTJn8Ethereum (ETH)0xec5b67e7ccffa41673e74a64d9f64ea72efc91bcCreditMain Github Page :https://github.com/bearaujus/Linkedin :https://www.linkedin.com/in/bearaujus/Bear Au Jus - ジュースとくま@2021