1+ <!DOCTYPE html>
2+ < html lang ="en ">
3+
4+ < head >
5+ < meta charset ="UTF-8 " />
6+ < title > JabMap</ title >
7+ < style >
8+ html ,
9+ body {
10+ background-color : # f8f9fa ;
11+ height : 100% ;
12+ margin : 0 ;
13+ }
14+
15+ body {
16+ display : flex;
17+ flex-direction : column;
18+ }
19+
20+ nav .navbar {
21+ display : flex;
22+ flex-shrink : 0 ;
23+ }
24+
25+ # jsmind_container {
26+ display : block;
27+ flex-grow : 1 ;
28+ overflow : auto;
29+ }
30+
31+ .dropdown-item .shortcut {
32+ color : # 6c757d ;
33+ font-size : 0.9em ;
34+ margin-left : 1rem ;
35+ }
36+
37+ .error-container {
38+ height : 100vh ;
39+ display : none;
40+ align-items : center;
41+ justify-content : center;
42+ flex-direction : column;
43+ text-align : center;
44+ padding : 20px ;
45+ }
46+
47+ .error-icon {
48+ font-size : 4rem ;
49+ color : # dc3545 ;
50+ }
51+
52+ .accordion {
53+ width : 400px ;
54+ text-align : left;
55+ }
56+
57+ .accordion-button ::after {
58+ margin-left : auto;
59+ margin-left : 5 ;
60+ }
61+
62+ .accordion-collapse {
63+ transition : height 0.4s ease, opacity 0.4s ease;
64+ overflow : hidden;
65+ }
66+
67+ .accordion-body {
68+ transition : opacity 0.4s ease;
69+ opacity : 0 ;
70+ }
71+
72+ .accordion-collapse .show .accordion-body {
73+ opacity : 1 ;
74+ }
75+ </ style >
76+ < script type ="module " crossorigin src ="./assets/index-Cgd3nkJE.js "> </ script >
77+ < link rel ="stylesheet " crossorigin href ="./assets/index-D7IKWizK.css ">
78+ </ head >
79+
80+ < body >
81+ <!--Navbar with Buttons-->
82+ < nav class ="navbar bg-body-tertiary " id ="topNavBar ">
83+ < div class ="container-fluid ">
84+ < div class ="d-flex align-items-start " style ="flex-basis: 33%; max-width: 33%; ">
85+ <!--JabMap title-->
86+ < a class ="navbar-brand " href ="# "> JabMap</ a >
87+
88+ <!--Save and Load Buttons-->
89+ < button id ="openBtn " class ="btn btn-light me-2 " type ="button " data-bs-toggle ="modal " title ="Open "
90+ data-bs-target ="#selectMindmapModal ">
91+ < i class ="bi bi-folder2-open "> </ i > Open
92+ </ button >
93+ < button id ="saveBtn " class ="btn btn-light me-2 " type ="button " data-bs-toggle ="tooltip " title ="Save ">
94+ < i class ="bi bi-save "> </ i > Save
95+ </ button >
96+ <!--Debug button-->
97+ <!-- <button id="printMapToConsoleBtn" class="btn btn-light me-2" type="button" data-bs-toggle="tooltip" title="Debug">
98+ Debug
99+ </button> -->
100+ </ div >
101+
102+ <!--Editor buttons-->
103+ < div class ="d-flex justify-content-center " style ="flex-basis: 33%; max-width: 33%; ">
104+ <!--Button class explanation: class = "btn color theme margin to the right (me-2)"-->
105+ <!--Undo Button-->
106+ < button id ="undoBtn " class ="btn btn-secondary me-2 " type ="button " data-bs-toggle ="tooltip " title ="Undo "
107+ disabled >
108+ < i class ="bi bi-arrow-counterclockwise "> </ i >
109+ </ button >
110+ <!--Redo Button-->
111+ < button id ="redoBtn " class ="btn btn-secondary me-2 " type ="button " data-bs-toggle ="tooltip " title ="Redo "
112+ disabled >
113+ < i class ="bi bi-arrow-clockwise "> </ i >
114+ </ button >
115+ <!--New Topic (sibling node) Button-->
116+ < button id ="newSiblingBtn " class ="btn btn-secondary me-2 " type ="button " data-bs-toggle ="tooltip "
117+ title ="New sibling node " disabled >
118+ < i class ="bi bi-node-plus-fill "> </ i >
119+ </ button >
120+ <!--New Subtopic (child node) Button (icon rotated 90 degrees)-->
121+ < button id ="newChildBtn " class ="btn btn-secondary me-2 " type ="button " data-bs-toggle ="tooltip "
122+ title ="New child node " disabled >
123+ < i class ="bi bi-diagram-2-fill " style ="transform: rotate(-90deg); display: inline-block; "> </ i >
124+ </ button >
125+
126+ <!--Tags Dropdown-->
127+ < div class ="dropdown ">
128+ < button class ="btn btn-secondary dropdown-toggle me-2 " type ="button " id ="tagsDropdownMenuButton "
129+ data-bs-toggle ="dropdown " data-bs-auto-close ="outside " disabled >
130+ < i class ="bi bi-tags "> </ i >
131+ </ button >
132+ < div class ="dropdown-menu ">
133+ < h6 class ="dropdown-header "> Icons for nodes</ h6 >
134+ < button id ="iconCycleBtn " class ="dropdown-item d-flex justify-content-between ">
135+ < span > Cycle</ span > < span class ="shortcut "> Ctrl + 1</ span >
136+ </ button >
137+ < button id ="iconStarBtn " class ="dropdown-item d-flex justify-content-between ">
138+ < span > Star</ span > < span class ="shortcut "> Ctrl + 2</ span >
139+ </ button >
140+ < button id ="iconQuestionBtn " class ="dropdown-item d-flex justify-content-between ">
141+ < span > Question</ span > < span class ="shortcut "> Ctrl + 3</ span >
142+ </ button >
143+ < button id ="iconWarningBtn " class ="dropdown-item d-flex justify-content-between ">
144+ < span > Warning</ span > < span class ="shortcut "> Ctrl + 6</ span >
145+ </ button >
146+ < button id ="iconLightbulbBtn " class ="dropdown-item d-flex justify-content-between ">
147+ < span > Lightbulb</ span > < span class ="shortcut "> Ctrl + 7</ span >
148+ </ button >
149+ < button id ="iconGreenFlagBtn " class ="dropdown-item d-flex justify-content-between ">
150+ < span > Green Flag</ span > < span class ="shortcut "> Ctrl + 8</ span >
151+ </ button >
152+ < button id ="iconRedFlagBtn " class ="dropdown-item d-flex justify-content-between ">
153+ < span > Red Flag</ span > < span class ="shortcut "> Ctrl + 9</ span >
154+ </ button >
155+ </ div >
156+ </ div >
157+
158+ <!--BibEntry nodes Dropdown-->
159+ < div class ="dropdown ">
160+ < button class ="btn btn-secondary dropdown-toggle me-2 " id ="BibEntryDropdownMenuButton "
161+ data-bs-toggle ="dropdown " disabled >
162+ < i class ="bi bi-file-earmark-text "> </ i >
163+ </ button >
164+ < div class ="dropdown-menu ">
165+ < h6 class ="dropdown-header "> New BibTeX node</ h6 >
166+ < button id ="addBibEntryAsSiblingBtn " class ="btn dropdown-item ">
167+ < i class ="bi bi-node-plus-fill "> </ i > As sibling node
168+ </ button >
169+ < button id ="addBibEntryAsChildBtn " class ="btn dropdown-item ">
170+ < i class ="bi bi-diagram-2-fill " style ="transform: rotate(-90deg); display: inline-block; "> </ i > As child
171+ node
172+ < span class ="shortcut "> Ctrl + B</ span >
173+ </ button >
174+ </ div >
175+ </ div >
176+
177+ < div class ="dropdown ">
178+ < button class ="btn btn-secondary dropdown-toggle me-2 " id ="PDFDropDownMenuButton " data-bs-toggle ="dropdown "
179+ disabled >
180+ < i class ="bi bi-file-pdf "> </ i > </ i >
181+ </ button >
182+ < div class ="dropdown-menu ">
183+ < h6 class ="dropdown-header "> New PDF node</ h6 >
184+ < button id ="addPDFAsSiblingBtn " class ="btn dropdown-item " data-bs-toggle ="modal "
185+ data-bs-target ="#selectPDFModal ">
186+ < i class ="bi bi-node-plus-fill "> </ i > As sibling node
187+ </ button >
188+ < button id ="addPDFAsChildBtn " class ="btn dropdown-item " data-bs-toggle ="modal "
189+ data-bs-target ="#selectPDFModal ">
190+ < i class ="bi bi-diagram-2-fill " style ="transform: rotate(-90deg); display: inline-block; "> </ i > As child
191+ node
192+ < span class ="shortcut "> Ctrl + P</ span >
193+ </ button >
194+ </ div >
195+ </ div >
196+
197+ </ div >
198+ < div style ="flex-basis: 33%; max-width: 33%; "> </ div >
199+ </ div >
200+ </ nav >
201+
202+ <!--Required jsMind container-->
203+ < div id ="jsmind_container " style ="width:100%;height:100vh;background:#f4f4f4; "> </ div >
204+
205+ <!-- Modal for the "Open" dialog-->
206+ < div class ="modal fade " id ="selectMindmapModal " tabindex ="-1 " role ="dialog ">
207+ < div class ="modal-dialog " role ="document ">
208+ < div class ="modal-content ">
209+ < div class ="modal-header ">
210+ < h5 class ="modal-title " id ="exampleModalLabel "> Choose a JabMap to open</ h5 >
211+ < button type ="button " class ="btn-close " data-bs-dismiss ="modal " aria-label ="Close "> </ button >
212+ </ div >
213+ < div class ="modal-body ">
214+ < div id ="openMindmapInfoText "> </ div >
215+ < select class ="form-select " id ="openMindmapSelect " size ="10 "> </ select >
216+ </ div >
217+ < div class ="modal-footer ">
218+ < button type ="button " id ="openSelectedMapBtn " class ="btn btn-outline-secondary " data-bs-dismiss ="modal ">
219+ Open
220+ </ button >
221+ </ div >
222+ </ div >
223+ </ div >
224+ </ div >
225+
226+ <!-- Modal for the "Add PDF Nodes" dialog-->
227+ < div class ="modal fade " id ="selectPDFModal " tabindex ="-1 " role ="dialog ">
228+ < div class ="modal-dialog " role ="document ">
229+ < div class ="modal-content ">
230+ < div class ="modal-header ">
231+ < h5 class ="modal-title " id ="SelectPDFModalLabel "> Choose PDFs to add</ h5 >
232+ < button type ="button " class ="btn-close " data-bs-dismiss ="modal " aria-label ="Close "> </ button >
233+ </ div >
234+ < div class ="modal-body " id ="PDFModalBody ">
235+ < div id ="PDFModalInfoText "> </ div >
236+ < select class ="form-select " multiple id ="addPDFSelect " size ="10 "> </ select >
237+ </ div >
238+ < div class ="d-flex modal-footer ">
239+ < button type ="button " id ="addSelectedPDFBtn " class ="btn btn-outline-secondary alig " data-bs-dismiss ="modal ">
240+ Add
241+ </ button >
242+ </ div >
243+ </ div >
244+ </ div >
245+ </ div >
246+
247+ <!--A 'connection failed' page-->
248+ < div class ="error-container " id ="noConnectionBlock ">
249+ < div class ="error-icon "> ⚠️</ div >
250+ < h1 class ="mt-4 "> Server Connection Failed</ h1 >
251+ < p class ="text-muted "> Your JabMap couldn’t connect to the server. Here are a few things you can try:</ p >
252+
253+ < div class ="accordion " id ="tipsAccordion ">
254+ < div class ="accordion-item ">
255+ < h2 class ="accordion-header " id ="headingTwo ">
256+ < button class ="accordion-button collapsed " type ="button " data-bs-toggle ="collapse " data-bs-target ="#tip2 "
257+ aria-expanded ="false " aria-controls ="tip2 ">
258+ 🤖 Ensure JabRef server is running
259+ </ button >
260+ </ h2 >
261+ < div id ="tip2 " class ="accordion-collapse collapse " aria-labelledby ="headingTwo " data-bs-parent ="#tipsAccordion ">
262+ < div class ="accordion-body ">
263+ < ol class ="list-group list-group-flush list-group-numbered ">
264+ < li class ="list-group-item "> Start your JabRef</ li >
265+ < li class ="list-group-item "> Go to File -> Preferences</ li >
266+ < li class ="list-group-item "> Check the "Http Server"</ li >
267+ </ ol >
268+ </ div >
269+ </ div >
270+ </ div >
271+
272+ < div class ="accordion-item ">
273+ < h2 class ="accordion-header " id ="headingThree ">
274+ < button class ="accordion-button collapsed " type ="button " data-bs-toggle ="collapse " data-bs-target ="#tip3 "
275+ aria-expanded ="false " aria-controls ="tip3 ">
276+ 👾 Verify installation
277+ </ button >
278+ </ h2 >
279+ < div id ="tip3 " class ="accordion-collapse collapse " aria-labelledby ="headingThree "
280+ data-bs-parent ="#tipsAccordion ">
281+ < div class ="accordion-body ">
282+ < ol class ="list-group list-group-flush list-group-numbered ">
283+ < li class ="list-group-item ">
284+ Ensure you followed
285+ < a href ="https://github.com/jabref/jabmap/#running-locally ">
286+ running it locally</ a >
287+ step of the documentation.
288+ </ li >
289+ < li class ="list-group-item ">
290+ Then use the < code > gg.cmd</ code > as guided in
291+ < a href ="https://github.com/jabref/jabmap/#using-ggcmd ">
292+ the following step</ a > .
293+ </ li >
294+ </ ol >
295+ </ div >
296+ </ div >
297+ </ div >
298+ </ div >
299+
300+ < button id ="tryAgainBtn " class ="btn btn-primary mt-4 "> Try Again</ button >
301+ </ div >
302+
303+ </ body >
304+
305+ </ html >
0 commit comments