document.addEventListener('DOMContentLoaded', function() {
document.querySelectorAll('div.highlighter-rouge').forEach(function(block) {
const classes = block.className.split(' ');
for (let i = 0; i < classes.length; i++) {
if (classes[i].startsWith('language-')) {
const lang = classes[i].replace('language-', '');
block.setAttribute('data-lang', lang.toUpperCase());
break;
}
}
});
document.querySelectorAll('div.language-sql pre.highlight code').forEach(function(code) {
const sqlKeywords = [
'SELECT', 'FROM', 'WHERE', 'JOIN', 'LEFT', 'RIGHT', 'INNER', 'OUTER',
'ON', 'AND', 'OR', 'IN', 'NOT', 'IS', 'NULL', 'AS', 'ORDER', 'BY',
'GROUP', 'HAVING', 'LIMIT', 'OFFSET', 'INSERT', 'INTO', 'VALUES',
'UPDATE', 'SET', 'DELETE', 'CREATE', 'TABLE', 'INDEX', 'ALTER', 'DROP',
'CONSTRAINT', 'PRIMARY', 'KEY', 'FOREIGN', 'REFERENCES', 'UNIQUE',
'DEFAULT', 'CASCADE', 'DISTINCT', 'CASE', 'WHEN', 'THEN', 'ELSE', 'END'
];
let html = code.innerHTML;
const tablePattern = /\b(FROM|JOIN)\s+([a-zA-Z_][a-zA-Z0-9_]*)/g;
html = html.replace(tablePattern, function(match, keyword, tableName) {
return keyword + ' <span class="table-name">' + tableName + '</span>';
});
const aliasPattern = /\b(AS)\s+([a-zA-Z_][a-zA-Z0-9_]*)/g;
html = html.replace(aliasPattern, function(match, keyword, alias) {
return keyword + ' <span class="alias">' + alias + '</span>';
});
code.innerHTML = html;
});
document.querySelectorAll('div.language-go pre.highlight code').forEach(function(code) {
});
});