diff --git a/assets/vendor/captcha-system/js/main.js b/assets/vendor/captcha-system/js/main.js index 489ef5d..ee61a8e 100644 --- a/assets/vendor/captcha-system/js/main.js +++ b/assets/vendor/captcha-system/js/main.js @@ -3,65 +3,70 @@ * Date: 2021-11-26 * Description: This is the main Javascript file for Captcha. */ -document.onload = getCaptcha(); - +document.onload = getCaptcha() function getCaptcha() { - var form = document.getElementsByClassName("captcha-container"); - var captcha = document.createElement("div"); - captcha.className = "captcha"; - var captchaTxt = generateCaptcha(); - captcha.innerHTML = "
"+captchaTxt+"



"; - form[0].appendChild(captcha); - var submit = document.getElementsByClassName('submit-after-valid-captcha'); - submit[0].disabled = true; + var form = document.getElementsByClassName('captcha-container') + var captcha = document.createElement('div') + captcha.className = 'captcha' + var captchaTxt = generateCaptcha() + captcha.innerHTML = + "
" + + captchaTxt + + "
 

" + form[0].appendChild(captcha) + var submit = document.getElementsByClassName('submit-after-valid-captcha') + submit[0].disabled = true } function captchaValidate() { - var captcha = document.getElementsByClassName("captcha-input"); - var captchaText = captcha[0].value; - var originalCaptchaImg = document.getElementsByClassName("captcha-image"); - originalCaptcha = originalCaptchaImg[0].getAttribute("data-captcha"); - - if(captchaText == originalCaptcha) { - console.log("Captcha Matched"); - var submit = document.getElementsByClassName('submit-after-valid-captcha'); - submit[0].disabled = false; - var verify = document.getElementsByClassName('captcha-verify'); - verify[0].disabled = true; - verify[0].style.cursor = "not-allowed"; - var captchaResponse = document.getElementById('captcha-response'); - captchaResponse.innerHTML = "

"; - } else { - var submit = document.getElementsByClassName('submit-after-valid-captcha'); - submit[0].disabled = true; - var verify = document.getElementsByClassName('captcha-verify'); - verify[0].disabled = false; - var captchaResponse = document.getElementById('captcha-response'); - captchaResponse.innerHTML = "

X

"; - generateCaptcha2(); - } + var captcha = document.getElementsByClassName('captcha-input') + var captchaText = captcha[0].value + var originalCaptchaImg = document.getElementsByClassName('captcha-image') + originalCaptcha = originalCaptchaImg[0].getAttribute('data-captcha') + if (captchaText == originalCaptcha) { + console.log('Captcha Matched') + var submit = document.getElementsByClassName('submit-after-valid-captcha') + submit[0].disabled = false + var verify = document.getElementsByClassName('captcha-verify') + verify[0].disabled = true + verify[0].style.cursor = 'not-allowed' + var captchaResponse = document.getElementById('captcha-response') + captchaResponse.innerHTML = "

" + } else { + var submit = document.getElementsByClassName('submit-after-valid-captcha') + submit[0].disabled = true + var verify = document.getElementsByClassName('captcha-verify') + verify[0].disabled = false + var captchaResponse = document.getElementById('captcha-response') + captchaResponse.innerHTML = "

X

" + generateCaptcha2() + } } -// Function to generate captcha without changing the data and content of the captcha-image div +// Function to generate captcha without changing the data and content of the captcha-image div // For 1st time generation of captcha function generateCaptcha() { - var text = ""; - var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; - for( var i=0; i < 5; i++ ) - { text += possible.charAt(Math.floor(Math.random() * possible.length));} - return text; + var text = '' + var possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789' + for (var i = 0; i < 5; i++) { + text += possible.charAt(Math.floor(Math.random() * possible.length)) + } + return text } // Function to generate captcha without changing the data and content of the captcha-image div // For rest of the time generation of captcha function generateCaptcha2() { - var text = ""; - var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; - for( var i=0; i < 5; i++ ) - { text += possible.charAt(Math.floor(Math.random() * possible.length));} - var captcha = document.getElementsByClassName("captcha-image"); - captcha[0].innerHTML = text; - captcha[0].setAttribute("data-captcha", text); -} \ No newline at end of file + var text = '' + var possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789' + for (var i = 0; i < 5; i++) { + text += possible.charAt(Math.floor(Math.random() * possible.length)) + } + var captcha = document.getElementsByClassName('captcha-image') + captcha[0].innerHTML = text + captcha[0].setAttribute('data-captcha', text) +} diff --git a/scripts/themeSetup.js b/scripts/themeSetup.js index 0d21aad..b14bb26 100644 --- a/scripts/themeSetup.js +++ b/scripts/themeSetup.js @@ -1,125 +1,119 @@ -const fs = require("fs"); -const path = require("path"); +const fs = require('fs') +const path = require('path') const toggleComment = ({ filepath, regex }) => { - let updatedContent = fs.readFileSync(filepath, "utf8"); - const match = updatedContent.match(regex); + let updatedContent = fs.readFileSync(filepath, 'utf8') + const match = updatedContent.match(regex) if (match) { - const matchedContent = match[0]; - const hasComment = matchedContent.startsWith("# "); + const matchedContent = match[0] + const hasComment = matchedContent.startsWith('# ') if (hasComment) { - const hasBreakline = matchedContent.includes("\n"); + const hasBreakline = matchedContent.includes('\n') if (hasBreakline) { - updatedContent = updatedContent.replace( - regex, - matchedContent.replace(/# /gm, ""), - ); - fs.writeFileSync(filepath, updatedContent, "utf8"); + updatedContent = updatedContent.replace(regex, matchedContent.replace(/# /gm, '')) + fs.writeFileSync(filepath, updatedContent, 'utf8') } } else { - updatedContent = updatedContent.replace(regex, "# " + matchedContent); - fs.writeFileSync(filepath, updatedContent, "utf8"); + updatedContent = updatedContent.replace(regex, '# ' + matchedContent) + fs.writeFileSync(filepath, updatedContent, 'utf8') } } -}; +} const createNewfolder = (rootfolder, folderName) => { - const newFolder = path.join(rootfolder, folderName); - fs.mkdirSync(newFolder, { recursive: true }); - return newFolder; -}; + const newFolder = path.join(rootfolder, folderName) + fs.mkdirSync(newFolder, { recursive: true }) + return newFolder +} const deleteFolder = (folderPath) => { if (fs.existsSync(folderPath)) { - fs.rmSync(folderPath, { recursive: true, force: true }); + fs.rmSync(folderPath, { recursive: true, force: true }) } -}; +} const getFolderName = (rootfolder) => { - const configPath = path.join(rootfolder, "exampleSite/hugo.toml"); - const getConfig = fs.readFileSync(configPath, "utf8"); - const match = getConfig.match(/theme\s*=\s*\[?"([^"\]]+)"\]?/); - let selectedTheme = null; + const configPath = path.join(rootfolder, 'exampleSite/hugo.toml') + const getConfig = fs.readFileSync(configPath, 'utf8') + const match = getConfig.match(/theme\s*=\s*\[?"([^"\]]+)"\]?/) + let selectedTheme = null if (match && match[1]) { - selectedTheme = match[1]; + selectedTheme = match[1] } - return selectedTheme; -}; + return selectedTheme +} const iterateFilesAndFolders = (rootFolder, { destinationRoot }) => { - const directory = path.join(rootFolder); - const items = fs.readdirSync(directory, { withFileTypes: true }); + const directory = path.join(rootFolder) + const items = fs.readdirSync(directory, { withFileTypes: true }) items.forEach((item) => { if (item.isDirectory()) { - createNewfolder(destinationRoot, item.name); + createNewfolder(destinationRoot, item.name) iterateFilesAndFolders(path.join(directory, item.name), { currentFolder: item.name, destinationRoot: path.join(destinationRoot, item.name), - }); + }) } else { - const sourceFile = path.join(directory, item.name); - const destinationFile = path.join(destinationRoot, item.name); - fs.renameSync(sourceFile, destinationFile); + const sourceFile = path.join(directory, item.name) + const destinationFile = path.join(destinationRoot, item.name) + fs.renameSync(sourceFile, destinationFile) } - }); -}; + }) +} const setupTheme = () => { - const rootFolder = path.join(__dirname, "../"); + const rootFolder = path.join(__dirname, '../') - if (!fs.existsSync(path.join(rootFolder, "exampleSite"))) { + if (!fs.existsSync(path.join(rootFolder, 'exampleSite'))) { // remove this part if you don't using theme demo as a module - [ + ;[ { - filepath: path.join(rootFolder, "config/_default/module.toml"), + filepath: path.join(rootFolder, 'config/_default/module.toml'), regex: /# \[\[imports\]\]\s*\r?\n# path = "([^"]+)"/, }, { - filepath: path.join(rootFolder, "hugo.toml"), + filepath: path.join(rootFolder, 'hugo.toml'), regex: /^.*theme\s*=\s*("[^"\]]+"|\S+)/m, }, - ].forEach(toggleComment); + ].forEach(toggleComment) const includesFiles = [ - "tailwind.config.js", - "postcss.config.js", - "go.mod", - "hugo.toml", - "assets", - "config", - "data", - "content", - "i18n", - "static", - ]; + 'tailwind.config.js', + 'postcss.config.js', + 'go.mod', + 'hugo.toml', + 'assets', + 'config', + 'data', + 'content', + 'i18n', + 'static', + ] - const folder = createNewfolder(rootFolder, "exampleSite"); + const folder = createNewfolder(rootFolder, 'exampleSite') fs.readdirSync(rootFolder, { withFileTypes: true }).forEach((file) => { if (includesFiles.includes(file.name)) { if (file.isDirectory()) { - const destination = path.join(rootFolder, "exampleSite", file.name); - fs.mkdirSync(destination, { recursive: true }); + const destination = path.join(rootFolder, 'exampleSite', file.name) + fs.mkdirSync(destination, { recursive: true }) iterateFilesAndFolders(path.join(rootFolder, file.name), { destinationRoot: destination, - }); - deleteFolder(path.join(rootFolder, file.name)); + }) + deleteFolder(path.join(rootFolder, file.name)) } else { - fs.renameSync( - path.join(rootFolder, file.name), - path.join(folder, file.name), - ); + fs.renameSync(path.join(rootFolder, file.name), path.join(folder, file.name)) } } - }); + }) - const themes = path.join(rootFolder, "themes"); + const themes = path.join(rootFolder, 'themes') iterateFilesAndFolders(path.join(themes, getFolderName(rootFolder)), { destinationRoot: rootFolder, - }); - deleteFolder(themes); + }) + deleteFolder(themes) } -}; +} -setupTheme(); +setupTheme()