async function addContent() {
                let contentHTML = '<div id="docs-content">'
                let editableParagraphIndex = 0
                if(thisObject.docsSchemaDocument.paragraphs !== undefined) {
                    for(let i = 0; i < thisObject.docsSchemaDocument.paragraphs.length; i++) {
                        let key = 'editable-paragraph-' + editableParagraphIndex
                        let paragraph = thisObject.docsSchemaDocument.paragraphs[i]

                        switch(paragraph.style) {
                            case "Include": {
                                contentHTML = contentHTML + await renderParagraph(paragraph, key)
                                editableParagraphIndex++
                                const result = await addIncludedParagraphs(paragraph.text)
                                if(result.html !== undefined) {
                                    contentHTML = contentHTML + result.html
                                }
                                if(result.error !== undefined) {
                                    paragraph = {
                                        style: "Error",
                                        text: result.error
                                    }
                                    key = 'error-paragraph-' + autoGeneratedParagraphIndex
                                    contentHTML = contentHTML + await renderParagraph(paragraph, key)
                                    autoGeneratedParagraphIndex++
                                }
                                break
                            }
                            case "Placeholder": {
                                contentHTML = contentHTML + await renderParagraph(paragraph, key, true)
                                editableParagraphIndex++
                                const result = await addPlaceholdedParagraph(paragraph.text)
                                if(result.html !== undefined) {
                                    contentHTML = contentHTML + result.html
                                }
                                if(result.error !== undefined) {
                                    paragraph = {
                                        style: "Note",
                                        text: result.error
                                    }
                                    key = 'note-paragraph-' + autoGeneratedParagraphIndex
                                    contentHTML = contentHTML + await renderParagraph(paragraph, key)
                                    autoGeneratedParagraphIndex++
                                }
                                break
                            }
                            case "Chapter": {
                                contentHTML = contentHTML + await renderParagraph(paragraph, key)
                                editableParagraphIndex++
                                const result = await addChapterIndex(paragraph.text)
                                if(result.html !== undefined) {
                                    contentHTML = contentHTML + result.html
                                }
                                if(result.error !== undefined) {
                                    paragraph = {
                                        style: "Error",
                                        text: result.error
                                    }
                                    key = 'error-paragraph-' + autoGeneratedParagraphIndex
                                    contentHTML = contentHTML + await renderParagraph(paragraph, key)
                                    autoGeneratedParagraphIndex++
                                }
                                break
                            }
                            default: {
                                contentHTML = contentHTML + await renderParagraph(paragraph, key, true)
                                editableParagraphIndex++
                            }
                        }
                    }
                }
                if(thisObject.currentDocumentBeingRendered.category === 'Node') {
                    contentHTML = contentHTML + await autoGeneratedHtml()
                }
                return contentHTML + '</div>' // Content Ends

                /**
                 * 
                 * @param {string} includeText 
                 * @returns {Promise<{
                 *   html: string?,
                 *   error: string?
                 * }>}
                 */
                async function addIncludedParagraphs(includeText) {
                    let splittedIncludeText = includeText.split('->')
                    let project = splittedIncludeText[0]
                    let category = splittedIncludeText[1]
                    let type = splittedIncludeText[2]
                    let block
                    let definition = false
                    let html = ''
                    if(splittedIncludeText[3] === 'Definition') {
                        definition = true
                    } else {
                        block = splittedIncludeText[3]
                    }
                    let includedSchemaDocument

                    let projectSchema = SCHEMAS_BY_PROJECT.get(project)
                    if(projectSchema === undefined) {
                        projectSchema = await ED.schemas.convertProjectsToSchemas(project).then(() => SCHEMAS_BY_PROJECT.get(project))
                    }
                    if(projectSchema === undefined) {
                        return {error: 'Include paragraph style Syntax Error. The Project <i>' + project + '</i> could not be found. Check the Docs Include Style Syntax to learn how to include blocks from a page. This error message will disappear as soon as you fix the problem.'}
                    }
                    switch(category) {
                        case 'Node': {
                            includedSchemaDocument = projectSchema.map.docsNodeSchema.get(type)
                            break
                        }
                        case 'Concept': {
                            includedSchemaDocument = projectSchema.map.docsConceptSchema.get(type)
                            break
                        }
                        case 'Topic': {
                            includedSchemaDocument = projectSchema.map.docsTopicSchema.get(type)
                            break
                        }
                        case 'Tutorial': {
                            includedSchemaDocument = projectSchema.map.docsTutorialSchema.get(type)
                            break
                        }
                        case 'Review': {
                            includedSchemaDocument = projectSchema.map.docsReviewSchema.get(type)
                            break
                        }
                        case 'Book': {
                            includedSchemaDocument = projectSchema.map.docsBookSchema.get(type)
                            break
                        }
                        default:
                            return {error: 'Category (' + category + ') is not valid. Use Node, Concept, Topic, Review or Book instead.'}
                    }
                    if(includedSchemaDocument === undefined) {
                        return {error: category + ' document ' + type + ' not found at project ' + project}
                    }
                    if(includedSchemaDocument.paragraphs === undefined) {
                        return {error: 'Schema Document found, but without paragraphs.'}
                    }

                    if(definition === true) {
                        html = html + await addDefinitionTable(includedSchemaDocument.definition, 'definition-included-', category, project, type)
                    } else {
                        let blockFound = false
                        for(let i = 0; i < includedSchemaDocument.paragraphs.length; i++) {

                            let key = 'included-paragraph-' + autoGeneratedParagraphIndex
                            let paragraph = includedSchemaDocument.paragraphs[i]

                            if(blockFound === false) {
                                if(paragraph.style === "Block" && paragraph.text === block) {
                                    blockFound = true
                                }
                            } else {
                                if(paragraph.style === "Block") {
                                    break
                                }
                                if(paragraph.style === "Include") {
                                    html = html + await renderParagraph(paragraph, key)
                                    autoGeneratedParagraphIndex++
                                    const result = await addIncludedParagraphs(paragraph.text)
                                    if(result.html !== undefined) {
                                        html = html + result.html
                                    }
                                    if(result.error !== undefined) {
                                        paragraph = {
                                            style: "Error",
                                            text: result.error
                                        }
                                        key = 'error-paragraph-' + autoGeneratedParagraphIndex
                                        html = html + await renderParagraph(paragraph, key)
                                        autoGeneratedParagraphIndex++
                                    }
                                } else {
                                    html = html + await renderParagraph(paragraph, key, true)
                                    autoGeneratedParagraphIndex++
                                }
                            }
                        }
                        if(blockFound === false) {
                            return {error: 'Block <i>' + block + '</i> not found.'}
                        }
                    }
                    return {html}
                }

                /**
                 * 
                 * @param {*} propertyName 
                 * @returns {Promise<{
                 *   html: string?,
                 *   error: string?
                 * }>}
                 */
                async function addPlaceholdedParagraph(propertyName) {
                    if(thisObject.currentDocumentBeingRendered.placeholder !== undefined) {
                        let placeholder = thisObject.currentDocumentBeingRendered.placeholder[propertyName]

                        if(placeholder !== undefined) {
                            let paragraph = {
                                style: placeholder.style,
                                text: placeholder.text
                            }
                            let key = 'placeholded-paragraph-' + autoGeneratedParagraphIndex
                            const html = await renderParagraph(paragraph, key, true)
                            autoGeneratedParagraphIndex++
                            return {html}
                        } else {
                            return {error: 'Property ' + propertyName + ' not found at the placeholder object. This means that within the info received, this information is not available.'}
                        }
                    }
                    return {}
                }

                /**
                 * 
                 * @param {string} chapterText 
                 * @returns {Promise<{
                 *   html: string?, 
                 *   error: string?
                 * }}>} generated chapter HTML
                 */
                async function addChapterIndex(chapterText) {
                    let splittedChapterText = chapterText.split('->')
                    let chapterNumber = splittedChapterText[0]
                    let project = splittedChapterText[1]
                    let category = splittedChapterText[2]
                    let chapterName = splittedChapterText[3]
                    let introText = splittedChapterText[4]
                    let html = ''

                    if(project === undefined || category === undefined || chapterNumber === undefined || chapterName === undefined) {
                        return {error: 'Chapter paragraph style Syntax Error. Some of the required parameters are undefined. Check the Docs Chapter Style Syntax. This error message will disappear as soon as you fix the problem.'}
                    }

                    let projectSchema = SCHEMAS_BY_PROJECT.get(project)
                    if(projectSchema === undefined) {
                        projectSchema = await ED.schemas.convertProjectsToSchemas(project).then(() => SCHEMAS_BY_PROJECT.get(project))
                    }
                    if(projectSchema === undefined) {
                        return {error: 'Chapter paragraph style Syntax Error. The Project <i>' + project + '</i> could not be found. Check the Docs Chapter Style Syntax. This error message will disappear as soon as you fix the problem.'}
                    }

                    if(category !== 'Topic' && category !== 'Tutorial' && category !== 'Review') {
                        return {error: 'Category must be either Topic, Tutorial or Review. Found: <i>' + category + '</i>'}
                    }

                    switch(category) {
                        case 'Topic': {
                            orderedTopicPageIndexArray = ED.utilities.buildOrderedPageIndex(
                                thisObject.currentDocumentBeingRendered.project,
                                'Topic',
                                chapterName
                            )

                            if(orderedTopicPageIndexArray.length === 0) {
                                return {error: 'Chapter paragraph style Syntax Error. The Topic <i>' + chapterName + '</i> could not be found. Check the Docs Chapter Style Syntax. This error message will disappear as soon as you fix the problem.'}
                            }
                            break
                        }
                        case 'Tutorial': {
                            orderedTutorialPageIndexArray = ED.utilities.buildOrderedPageIndex(
                                project,
                                'Tutorial',
                                chapterName
                            )

                            if(orderedTutorialPageIndexArray.length === 0) {
                                return {error: 'Chapter paragraph style Syntax Error. The Tutorial <i>' + chapterName + '</i> could not be found. Check the Docs Chapter Style Syntax. This error message will disappear as soon as you fix the problem.'}
                            }
                            break
                        }
                        case 'Review': {
                            orderedReviewPageIndexArray = ED.utilities.buildOrderedPageIndex(
                                thisObject.currentDocumentBeingRendered.project,
                                'Review',
                                chapterName
                            )

                            if(orderedReviewPageIndexArray.length === 0) {
                                return {error: 'Chapter paragraph style Syntax Error. The Review <i>' + chapterName + '</i> could not be found. Check the Docs Chapter Style Syntax. This error message will disappear as soon as you fix the problem.'}
                            }
                            break
                        }
                    }

                    html = html + '<div class="docs-topic-index">' // Container for Topic Index 

                    let key = 'auto-generated-paragraph-' + autoGeneratedParagraphIndex
                    paragraph = {
                        style: "Title",
                        text: 'Chapter ' + chapterNumber + ' - ' + chapterName
                    }

                    html = html + '<h2>'
                    html = html + await renderParagraph(paragraph, key)
                    autoGeneratedParagraphIndex++
                    html = html + '</h2>'

                    if(introText !== undefined) {
                        let key = 'auto-generated-paragraph-' + autoGeneratedParagraphIndex
                        paragraph = {
                            style: "Text",
                            text: introText
                        }
                        html = html + '<p><strong>'
                        html = html + await renderParagraph(paragraph, key)
                        autoGeneratedParagraphIndex++
                        html = html + '</strong></p>'
                    }

                    html = html + '<h3>Table of Contents</h3>'

                    switch(category) {
                        case 'Topic': {
                            html = html + generateTopicMultiPageIndex(project)
                            break
                        }
                        case 'Tutorial': {
                            html = html + generateTutorialMultiPageIndex(project)
                            break
                        }
                        case 'Review': {
                            html = html + generateReviewMultiPageIndex(project)
                            break
                        }
                    }

                    html = html + '</div>'  // Container for Topic Index 
                    return {html}
                }
            }
@returns {Promise<string>} HTML as a string