-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsearch.html
161 lines (133 loc) · 6.67 KB
/
search.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
<!DOCTYPE html>
<html lang="cs">
<head>
<meta name="viewport" content="height=device-height, width=device-width, initial-scale=1.0, minimum-scale=1.0, target-densitydpi=device-dpi"/>
<meta http-equiv="Cache-Control" content="max-age=3600" />
<link rel="icon" type="image/png" href="favicon.png"/>
<meta charset="UTF-8">
<title>"Monday Fight Search"</title>
<link href="dist/css/tabulator.min.css" rel="stylesheet">
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script src="chess.js/chess.js"></script>
<script type="text/javascript" src="dist/js/tabulator.min.js"></script>
<script type="text/javascript" src="pgn/pgn-bundle.js"></script>
<script type="text/javascript" src="js/minimal.js"></script>
<script src="history.js/scripts/bundled/html4+html5/native.history.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="css/mf.css">
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-CX3WGLDEW7"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-CX3WGLDEW7');
</script>
</head>
<body>
<div class="body">
<div class="mondayFightCaption">
<img src="img/pohar.png" style="position: absolute; z-index: -1; height:80px; float:left; margin:-2px -20px 0 0px"/>
<span class="icon"><a href="javascript:void(0);" onclick="showMondayFightMenu()" style="color:#00b5ad">
<i class="fa fa-bars hamburger"></i>
</a>
</span>
<span class="captionText">Search Engine</span>
<div class="topnav">
<div id="myLinks">
<a href="index.html">Main page</a>
<a href="cards.html">Duel Cards</a>
<a href="actualities.html">Hot News</a>
<a href="tables.html">Leaderboards</a>
<a href="cross.html">Cross table</a>
<a href="openings.html">Openings table</a>
<a href="search.html">Search Engine</a>
<a href="archiv2020.html">Archiv 2020</a>
<a href="archiv2021.html">Archiv 2021</a>
<a href="archiv2022.html">Archiv 2022</a>
<a href="archiv2023.html">Archiv 2023</a>
<a href="archiv2024.html">Archiv 2024</a>
<a href="players.html">Players</a>
</div>
</div>
</div>
<div class="article first" style="margin-top:15px">
<b style="margin-left:70px">Tip:</b> Různá kritéria oddělujte mezerami. Velikost písmen nehraje roli. Všechna kritéria musí být splněna současně. Pro vynucení mezer v kritériu použijte uvozovky.
Kritérium může být i pouhá část tahu, např. <b>f7#</b> najde partie, kde nastane mat tahem na pole f7. A když ke kritériu přidáme třeba <b>jouzolean</b>, nalezneme hry,
kde on nebo protihráč skončil takto neslavně. Ano, i on :-) Pokud chcete partie, které skončily matem, je lépe pužít <b>status:mate</b>, protože samotné <b>mate</b> vypíše i všechny Matesy.
Kritéria, která naopak nesmí být splněna, začínají znakem mínus <b>-</b>, např.:<b>-berserk</b> nebo <b>-noStart</b>.
Dvojtečkové užitečné jsou: <b>mozkomor:gambiter status:mate white:bebul black:bebul date:2021/06 min-moves:10 max-moves:15 winner:bebul loser:jouzolean pawns:3 "fen:rnbqkbnr/ppp2ppp/3p4/8/4Pp2/5N2/PPPP2PP/RNBQKB1R w KQkq - 0 4"</b>
<p>
Další důležitá slova umožní vyhledat dušené maty, mat s obětí dámy, mat proměnou pěšce, mat v centru šachovnice, ale i maty, které dosud nenastaly, braním mimochodem nebo rošádou.
Dále pozice se třemi dámami nebo hry, kdy se černý nejméně pět tahů opičil.
Klíčová slova jsou: <b><span id="analyzeKeys"></span></b>
<br>
<div style="margin: 10px 0 0 0">
<b>Příklady:</b>
<pre style="margin: 0px">
bebul jouzolean gambit accepted
travinho Bxf7+
"englund gambit" -black:dj-strelec
winner:bebul winner:white
date:2021/06/14 berserk
"e4 e5 f4 exf4 Nf3 Nf6 e5 Nd5"
"Zukertort Variation"
nostart
jouzolean f7#
winner:jouzolean bukowskic -berserk
bukowskic stalemate
date:2021 loser:jouzolean caro-kann winner:white status:mate
fischer loser:bukowskic "fen:rnbqkbnr/ppp2ppp/3p4/8/4Pp2/5N2/PPPP2PP/RNBQKB1R w KQkq - 0 4"
=R
</pre>
</div>
<div style="margin: 10px 0">
<div>Zadejte, prosím, svá ctěnná kritéria:
<input type="text" id="searchInput" value="bishopSac loser:bukowskic" style="width:100%">
<br>
<button id="searchButton">Hledej šmudlo, hledej</button>
</div>
</div>
</p>
<div id="gameListTableplwhite"></div>
<div id="gameListTableplblack"></div>
<div id="gameListTableplall"></div>
<div id="gameListTableBar"></div>
<div id="gameListTable"></div>
</div>
</div>
<script type="module">
import {LoadMFData} from "./js/tournamentsData.mjs"
import {onSearchClicked, searchStringToTokens, searchGames} from "./js/search.mjs"
import {AnalyzeKeyList} from "./js/analyze.mjs"
import {createGameListTable} from "./js/mondayFight.mjs"
function mainPage(data) {
//createPlayersTable(mondayFights, "#crossTable", false) //no Jouzocoins for 2021
document.getElementById("searchButton").onclick = function() {
onSearchClicked(data)
}
document.getElementById("analyzeKeys").innerHTML = AnalyzeKeyList.join(", ")
let url = new URL(window.location.href)
let searchParam = url.searchParams.get("q")
if (searchParam === null) searchParam = "bishopSac loser:bukowskic"
document.getElementById("searchInput").value = searchParam
let newUrl = window.location.pathname + "?q=" + encodeURIComponent(searchParam)
History.replaceState({'q': searchParam}, 'Search Engine', newUrl)
let tokens = searchStringToTokens(searchParam)
createGameListTable(searchGames(data, data.jouzoleanAndBebulsTournaments(), tokens), "#gameListTable", true)
var input = document.getElementById("searchInput");
input.addEventListener("keyup", function(event) {
if (event.keyCode === 13) {
event.preventDefault();
document.getElementById("searchButton").click()
}
});
History.Adapter.bind(window,'statechange',function(){
var query = History.getState().data['q']
console.log("state changed: " + query)
});
}
LoadMFData(mainPage)
</script>
</body>
</html>