Verzeichnisstruktur phpBB-3.3.15


Veröffentlicht
28.08.2024

So funktioniert es


Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück

Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis.
Auf den Verzeichnisnamen klicken, dies zeigt nur das Verzeichnis mit Inhalt an

(Beispiel Datei-Icons)

Auf das Icon klicken um den Quellcode anzuzeigen

InlineCode.js

Zuletzt modifiziert: 02.04.2025, 15:04 - Dateigröße: 1.53 KiB


01  function parse()
02  {
03      var markers = getInlineCodeMarkers(),
04          i       = -1,
05          cnt     = markers.length;
06      while (++i < (cnt - 1))
07      {
08          var pos = markers[i].next,
09              j   = i;
10          if (text[markers[i].pos] !== '`')
11          {
12              // Adjust the left marker if its first backtick was escaped
13              ++markers[i].pos;
14              --markers[i].len;
15          }
16          while (++j < cnt && markers[j].pos === pos)
17          {
18              if (markers[j].len === markers[i].len)
19              {
20                  addInlineCodeTags(markers[i], markers[j]);
21                  i = j;
22                  break;
23              }
24              pos = markers[j].next;
25          }
26      }
27  }
28   
29  /**
30  * Add the tag pair for an inline code span
31  *
32  * @param {!Object} left  Left marker
33  * @param {!Object} right Right marker
34  */
35  function addInlineCodeTags(left, right)
36  {
37      var startPos = left.pos,
38          startLen = left.len + left.trimAfter,
39          endPos   = right.pos - right.trimBefore,
40          endLen   = right.len + right.trimBefore;
41      addTagPair('C', startPos, startLen, endPos, endLen);
42      overwrite(startPos, endPos + endLen - startPos);
43  }
44   
45   
46  /**
47  * Capture and return inline code markers
48  *
49  * @return {!Array<!Object>}
50  */
51  function getInlineCodeMarkers()
52  {
53      var pos = text.indexOf('`');
54      if (pos < 0)
55      {
56          return [];
57      }
58   
59      var regexp   = /(`+)(\s*)[^\x17`]*/g,
60          trimNext = 0,
61          markers  = [],
62          _text    = text.replace(/\x1BD/g, '\\`'),
63          m;
64      regexp.lastIndex = pos;
65      while (m = regexp.exec(_text))
66      {
67          markers.push({
68              pos        : m.index,
69              len        : m[1].length,
70              trimBefore : trimNext,
71              trimAfter  : m[2].length,
72              next       : m.index + m[0].length
73          });
74          trimNext = m[0].length - m[0].replace(/\s+$/, '').length;
75      }
76   
77      return markers;
78  }