summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--irclog/search/index.html18
-rw-r--r--irclog/search/search1.js (renamed from irclog/search/search.js)13
-rw-r--r--irclog/view/index.html2
-rw-r--r--irclog/view/view4.js (renamed from irclog/view/view1.js)23
4 files changed, 51 insertions, 5 deletions
diff --git a/irclog/search/index.html b/irclog/search/index.html
index 066b30d..a31414b 100644
--- a/irclog/search/index.html
+++ b/irclog/search/index.html
@@ -45,6 +45,22 @@
color: blue;
text-decoration: underline;
}
+ .logline {
+ color: black;
+ text-decoration: none;
+ }
+ .logline:link {
+ color: black;
+ text-decoration: none;
+ }
+ .logline:hover {
+ color: black;
+ text-decoration: underline;
+ }
+ .logline:visited {
+ color: black;
+ text-decoration: none;
+ }
</style>
</head>
<body>
@@ -57,6 +73,6 @@
<br>
</div>
<div id="log-container"></div>
- <script src="./search.js"></script>
+ <script src="./search1.js"></script>
</body>
</html>
diff --git a/irclog/search/search.js b/irclog/search/search1.js
index 9a574d6..cf59f90 100644
--- a/irclog/search/search.js
+++ b/irclog/search/search1.js
@@ -59,9 +59,11 @@ function aggrLog(data) {
month = date.substring(5, 7);
day = date.substring(8, 10);
url = '../view/?chan=main&y=' + year + '&m=' + month + '&d=' + day;
- ret = ret + '\n=== <a href=' + url + ' target=\'_blank\'>' + date + '</a> ===' + '\n';
+ ret = ret + '\n=== ' + date + ' ===' + '\n';
logsByDate[date].forEach(log => {
- ret = ret + log + '\n';
+ let time = log.substring(1,9);
+ let logurl = url + '#' + time;
+ ret = ret + '<a class="logline" target="_blank" href="' + logurl + '">' + log + '</a>\n';
});
});
return ret;
@@ -86,7 +88,12 @@ function loadLog() {
return response.text();
})
.then(text => {
- logContainer.innerHTML = `<pre>${logProcess(text.trim())}</pre>`;
+ try {
+ logContainer.innerHTML = `<pre>${logProcess(text.trim())}</pre>`;
+ } catch (e) {
+ console.log(e);
+ }
+
})
.catch(error => {
console.error('Fetch error:', error);
diff --git a/irclog/view/index.html b/irclog/view/index.html
index 3041286..490e9c3 100644
--- a/irclog/view/index.html
+++ b/irclog/view/index.html
@@ -57,6 +57,6 @@
<div id="log-container"></div>
<button onclick="setPreviousDay()">上一天</button>
<button onclick="setNextDay()">下一天</button>
- <script src="./view1.js"></script>
+ <script src="./view4.js"></script>
</body>
</html>
diff --git a/irclog/view/view1.js b/irclog/view/view4.js
index 567ec23..1863f64 100644
--- a/irclog/view/view1.js
+++ b/irclog/view/view4.js
@@ -7,6 +7,7 @@ let chan = urlParams.get('chan');
let year = urlParams.get('y');
let month = urlParams.get('m');
let day = urlParams.get('d');
+let hashtag = window.location.hash.substring(1);
if (chan === 'main') {
document.getElementById('searchlink').style.visibility = 'visible';
@@ -78,10 +79,28 @@ function linkify(text) {
});
}
+function insertTag(text) {
+ let res = '';
+ let lines = text.split('\n');
+ let scrollToInserted = false;
+ for (let line of lines) {
+ let time = line.substring(1, 9);
+ if (!scrollToInserted && time == hashtag && time !== '') {
+ res += '<span id="scrollTo"></span>';
+ scrollToInserted = true;
+ res += '<span style="color:red;">' + line + '</span>\n';
+ } else {
+ res += line + '\n';
+ }
+ }
+ return res;
+}
+
function logProcess(text) {
text = ircAction(text);
text = escapeHtml(text);
text = linkify(text);
+ text = insertTag(text);
return text;
}
@@ -96,6 +115,10 @@ function loadLog() {
})
.then(text => {
logContainer.innerHTML = `<pre>${logProcess(text)}</pre>`;
+ let scrollTo = document.getElementById('scrollTo');
+ if (scrollTo) {
+ scrollTo.scrollIntoView();
+ }
})
.catch(error => {
console.error('Fetch error:', error);