|
|
سطر ١: |
سطر ١: |
| /* الجافاسكريبت الموضوع هنا سيتم تحميله لكل المستخدمين مع كل تحميل للصفحة. */ | | /* الجافاسكريبت الموضوع هنا سيتم تحميله لكل المستخدمين مع كل تحميل للصفحة. */ |
− |
| |
− | function splitTrailingText(input) {
| |
− | const regex = /^(.*?[\u0620-\u064Aa-zA-Z])([^\u0620-\u064Aa-zA-Z]*)$/;
| |
− | const matches = input.match(regex);
| |
− |
| |
− | if (matches && matches.length > 1) {
| |
− | const alphabeticPart = matches[1];
| |
− | const nonAlphabeticPart = matches[2];
| |
− | return { alphabeticPart, nonAlphabeticPart };
| |
− | }
| |
− | return { alphabeticPart: input, nonAlphabeticPart: '' };
| |
− | }
| |
− |
| |
− | function parsePoem(text, vWidth) {
| |
− | let lines = text.split('\n');
| |
− | let formattedLines = lines.map(line => {
| |
− | if (line.trim() === "") {
| |
− | // Replace empty lines with a line break
| |
− | return '<br>';
| |
− | } else if (line.startsWith(' ')) { // Check for lines starting with two or more spaces
| |
− | const { alphabeticPart, nonAlphabeticPart } = splitTrailingText(line.trim());
| |
− | return `<p class="vTail"><span class="vTail" style="width:${vWidth}px">${alphabeticPart}</span><span class="vTrailer">${nonAlphabeticPart}</span></p>`;
| |
− | } else if (line.startsWith('--') && line.endsWith('--')) { // Check for lines delimited with '--'
| |
− | return `<p class="vMid" style="width:${vWidth}px">` + line.substring(2, line.length - 2).trim() + '</p>';
| |
− | } else {
| |
− | return `<p class="vHead" style="width:${0.9*vWidth}px">` + line.trim() + '</p>'; // Default to a regular paragraph for other lines
| |
− | }
| |
− | });
| |
− | return formattedLines.join('');
| |
− | }
| |
− |
| |
− | document.addEventListener('DOMContentLoaded', function() {
| |
− | var poems = document.querySelectorAll('.poem'); // Find all div elements with the class 'poem'
| |
− | poems.forEach(function(poem) { // Loop through each poem element and format it
| |
− | var vWidth = poem.getAttribute('vWidth') || 350; // Verse width, default is for quads
| |
− | poem.innerHTML = parsePoem(poem.innerText, vWidth);
| |
− | });
| |
− | });
| |
| | | |
| $(function () { | | $(function () { |