- Improvements to EntitlementsDomain & Services - Prechecks in Document domain - Add audit information to LicenseUsage
58 lines
3.5 KiB
HTML
58 lines
3.5 KiB
HTML
<!-- Optional JavaScript -->
|
|
|
|
<!-- Public scripts ------------------------------------------------------------------------------>
|
|
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
|
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
|
|
<script src="https://cdn.datatables.net/1.10.21/js/jquery.dataTables.min.js"></script>
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
|
|
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/perfect-scrollbar.min.js"></script>
|
|
<script src="{{url_for('static', filename='assets/js/plugins/typedjs.js')}}"></script>
|
|
<script src="{{url_for('static', filename='assets/js/plugins/prism.min.js')}}"></script>
|
|
<script src="{{url_for('static', filename='assets/js/plugins/highlight.min.js')}}"></script>
|
|
<script src="{{url_for('static', filename='assets/js/plugins/parallax.min.js')}}"></script>
|
|
<script src="{{url_for('static', filename='assets/js/plugins/nouislider.min.js')}}"></script>
|
|
<script src="{{url_for('static', filename='assets/js/plugins/anime.min.js')}}"></script>
|
|
<script src="{{url_for('static', filename='assets/js/material-kit-pro.min.js')}}?v=3.0.4 type="text/javascript"></script>
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.3/js/bootstrap.bundle.min.js"></script>
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/js/select2.min.js"></script>
|
|
<link href="https://cdnjs.cloudflare.com/ajax/libs/jsoneditor/10.1.0/jsoneditor.min.css" rel="stylesheet" type="text/css">
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/jsoneditor/10.1.0/jsoneditor.min.js"></script>
|
|
<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/dompurify/3.0.6/purify.min.js"></script>
|
|
|
|
<!-- Custom scripts ------------------------------------------------------------------------------>
|
|
<script src="{{url_for('static', filename='assets/js/console.js')}}"></script>
|
|
<script src="{{url_for('static', filename='assets/js/processing-status.js')}}"></script>
|
|
|
|
<!-- Marked Component ---------------------------------------------------------------------------->
|
|
<script>
|
|
// Configure Marked.js options
|
|
marked.setOptions({
|
|
gfm: true, // GitHub flavored markdown
|
|
breaks: true, // Interpret line breaks as <br>
|
|
headerIds: true, // Add ids to headings
|
|
mangle: false, // Don't escape HTML
|
|
pedantic: false, // Don't be overly conformant to original markdown
|
|
sanitize: false, // Don't sanitize HTML (use DOMPurify instead for security)
|
|
smartLists: true, // Use smarter list behavior
|
|
smartypants: true, // Use smart typography (quotes, dashes)
|
|
xhtml: false // Don't close single tags with />
|
|
});
|
|
|
|
// Function to safely convert markdown to HTML
|
|
function renderMarkdown(markdownText) {
|
|
if (typeof markdownText === 'string') {
|
|
try {
|
|
// Convert markdown to HTML, then sanitize it
|
|
const rawHtml = marked.parse(markdownText);
|
|
return DOMPurify.sanitize(rawHtml);
|
|
} catch (error) {
|
|
console.error('Error parsing markdown:', error);
|
|
return markdownText;
|
|
}
|
|
}
|
|
return markdownText;
|
|
}
|
|
</script>
|