| 
									
										
										
										
											2016-07-04 19:51:37 +03:00
										 |  |  | <!DOCTYPE html> | 
					
						
							|  |  |  | <html> | 
					
						
							| 
									
										
										
										
											2016-07-07 05:27:03 +03:00
										 |  |  | <head> | 
					
						
							|  |  |  | <title>pWiki</title> | 
					
						
							|  |  |  | </head> | 
					
						
							| 
									
										
										
										
											2016-07-04 19:51:37 +03:00
										 |  |  | <style> | 
					
						
							|  |  |  | </style> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <script src="ext-lib/jquery.js"></script> | 
					
						
							| 
									
										
										
										
											2016-08-11 16:48:14 +03:00
										 |  |  | <script src="ext-lib/jquery-ui.min.js"></script> | 
					
						
							|  |  |  | <script src="ext-lib/jquery.ui.touch.js"></script> | 
					
						
							| 
									
										
										
										
											2016-07-27 16:59:17 +03:00
										 |  |  | <script src="ext-lib/showdown.min.js"></script> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-30 20:36:32 +03:00
										 |  |  | <script src="ext-lib/FileSaver.js"></script> | 
					
						
							|  |  |  | <script src="ext-lib/jszip.min.js"></script> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-12 03:22:06 +03:00
										 |  |  | <script src="ext-lib/pouchdb.min.js"></script> | 
					
						
							| 
									
										
										
										
											2016-07-22 21:46:23 +03:00
										 |  |  | <script src="ext-lib/peer.min.js"></script> | 
					
						
							| 
									
										
										
										
											2016-07-27 03:19:01 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-13 03:06:35 +03:00
										 |  |  | <script src="bootstrap.js"></script> | 
					
						
							| 
									
										
										
										
											2016-07-04 19:51:37 +03:00
										 |  |  | <script src="wiki.js"></script> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <script> | 
					
						
							| 
									
										
										
										
											2016-07-05 03:14:00 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | var clear = () => { | 
					
						
							|  |  |  | 	delete localStorage['wiki-data'] | 
					
						
							|  |  |  | 	delete localStorage['wiki-location'] | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-13 19:43:53 +03:00
										 |  |  | var save = () => { | 
					
						
							|  |  |  | 	// XXX save... | 
					
						
							|  |  |  | 	localStorage['wiki-data'] = JSON.stringify(Wiki.__wiki_data) | 
					
						
							|  |  |  | 	localStorage['wiki-location'] = Wiki.location | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-05 03:14:00 +03:00
										 |  |  | var reload = () => { | 
					
						
							| 
									
										
										
										
											2016-07-20 05:47:37 +03:00
										 |  |  | 	$('.wiki') | 
					
						
							| 
									
										
										
										
											2016-07-22 23:42:34 +03:00
										 |  |  | 		.html(Wiki.title[0] == '_' ? Wiki.text : Wiki.get('./_view').text) | 
					
						
							|  |  |  | 		.ready(update_editor) | 
					
						
							| 
									
										
										
										
											2016-07-05 03:14:00 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-13 19:43:53 +03:00
										 |  |  | 	save() | 
					
						
							| 
									
										
										
										
											2016-07-07 05:27:03 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	$('title').text(Wiki.location) | 
					
						
							| 
									
										
										
										
											2016-08-13 19:43:53 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	$('input[type="checkbox"].state') | 
					
						
							|  |  |  | 		// initial state... | 
					
						
							|  |  |  | 		.each(function(){ | 
					
						
							|  |  |  | 			var path = $(this).attr('saveto') | 
					
						
							| 
									
										
										
										
											2016-08-13 20:02:16 +03:00
										 |  |  | 			var value = !!Wiki.get(path).attr('checked') | 
					
						
							| 
									
										
										
										
											2016-08-13 19:43:53 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 			$(this) | 
					
						
							|  |  |  | 				.prop('checked', value) | 
					
						
							|  |  |  | 				.parents('.item').first() | 
					
						
							|  |  |  | 					[value ? 'addClass' : 'removeClass']('checked') | 
					
						
							|  |  |  | 		}) | 
					
						
							|  |  |  | 		// handle clicks... | 
					
						
							|  |  |  | 		.click(function(){ | 
					
						
							|  |  |  | 			var path = $(this).attr('saveto') | 
					
						
							|  |  |  | 			var value = $(this).prop('checked') | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-13 20:02:16 +03:00
										 |  |  | 			Wiki.get(path).attr('checked', value) | 
					
						
							| 
									
										
										
										
											2016-08-13 19:43:53 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 			$(this) | 
					
						
							|  |  |  | 				.parents('.item').first() | 
					
						
							|  |  |  | 					[value ? 'addClass' : 'removeClass']('checked') | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 			// XXX | 
					
						
							|  |  |  | 			save() | 
					
						
							|  |  |  | 		}) | 
					
						
							| 
									
										
										
										
											2016-07-05 03:14:00 +03:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-20 05:47:37 +03:00
										 |  |  | var update_editor = function(){ | 
					
						
							| 
									
										
										
										
											2016-08-11 16:48:14 +03:00
										 |  |  | 	$('.sortable') | 
					
						
							|  |  |  | 		.sortable({ | 
					
						
							|  |  |  | 			handle: ".sort-handle", | 
					
						
							|  |  |  | 			placeholder: "sort-placeholder", | 
					
						
							|  |  |  | 			forcePlaceholderSize: true, | 
					
						
							|  |  |  | 			axis: 'y', | 
					
						
							|  |  |  | 		}) | 
					
						
							|  |  |  | 		.addTouch() | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-20 05:47:37 +03:00
										 |  |  | 	// XXX make this update on enter... | 
					
						
							| 
									
										
										
										
											2016-08-02 04:21:17 +03:00
										 |  |  | 	// XXX account for title of edited page... | 
					
						
							| 
									
										
										
										
											2016-07-20 05:47:37 +03:00
										 |  |  | 	$('.title') | 
					
						
							| 
									
										
										
										
											2016-07-28 09:30:05 +03:00
										 |  |  | 		.focus(function(){ | 
					
						
							| 
									
										
										
										
											2016-08-02 04:21:17 +03:00
										 |  |  | 			var to = $(this).attr('saveto') || '.' | 
					
						
							|  |  |  | 			$(this).text(Wiki.get(to).title) | 
					
						
							| 
									
										
										
										
											2016-07-28 09:30:05 +03:00
										 |  |  | 		}) | 
					
						
							| 
									
										
										
										
											2016-08-01 19:49:46 +03:00
										 |  |  | 		.blur(function(){  | 
					
						
							| 
									
										
										
										
											2016-08-02 04:21:17 +03:00
										 |  |  | 			var to = $(this).attr('saveto') || '.' | 
					
						
							| 
									
										
										
										
											2016-08-01 19:49:46 +03:00
										 |  |  | 			var text = $(this).text().trim() | 
					
						
							| 
									
										
										
										
											2016-08-02 04:21:17 +03:00
										 |  |  | 			var page = Wiki.get(to) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-01 19:49:46 +03:00
										 |  |  | 			if(text[0] == '/'){ | 
					
						
							| 
									
										
										
										
											2016-08-02 04:21:17 +03:00
										 |  |  | 				page.path = text | 
					
						
							| 
									
										
										
										
											2016-08-04 23:35:54 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-01 19:49:46 +03:00
										 |  |  | 			} else { | 
					
						
							| 
									
										
										
										
											2016-08-02 04:21:17 +03:00
										 |  |  | 				page.title = text | 
					
						
							| 
									
										
										
										
											2016-08-01 19:49:46 +03:00
										 |  |  | 			} | 
					
						
							| 
									
										
										
										
											2016-08-02 04:21:17 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 			// XXX need to account for changed path sufixes... | 
					
						
							|  |  |  | 			Wiki.path = page.path | 
					
						
							| 
									
										
										
										
											2016-07-28 09:07:46 +03:00
										 |  |  | 			reload() | 
					
						
							| 
									
										
										
										
											2016-07-20 05:47:37 +03:00
										 |  |  | 		}) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-02 02:05:49 +03:00
										 |  |  | 	/* | 
					
						
							| 
									
										
										
										
											2016-07-20 05:47:37 +03:00
										 |  |  | 	// live update text... | 
					
						
							|  |  |  | 	// XXX is this the right way to go for large documents??? | 
					
						
							| 
									
										
										
										
											2016-07-28 09:07:46 +03:00
										 |  |  | 	var text = $('.text') | 
					
						
							| 
									
										
										
										
											2016-07-22 23:42:34 +03:00
										 |  |  | 		.focus(function(){ | 
					
						
							|  |  |  | 			console.log('EDITING:', Wiki.path) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 			$(this) | 
					
						
							|  |  |  | 				.prop('contenteditable', 'true') | 
					
						
							| 
									
										
										
										
											2016-07-30 20:22:30 +03:00
										 |  |  | 				.html(Wiki.raw.replace(/\n/gm, '<br class="tmp-br"/>\n')) | 
					
						
							| 
									
										
										
										
											2016-07-22 23:42:34 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 			//reload() | 
					
						
							| 
									
										
										
										
											2016-07-20 05:47:37 +03:00
										 |  |  | 		}) | 
					
						
							| 
									
										
										
										
											2016-07-23 05:04:38 +03:00
										 |  |  | 		.on('keyup', function(){  | 
					
						
							|  |  |  | 			if($(this).prop('contenteditable') == 'true'){ | 
					
						
							|  |  |  | 				var to = $(this).attr('saveto') || '.' | 
					
						
							|  |  |  | 				console.log('SAVING:', Wiki.get(to).path) | 
					
						
							| 
									
										
										
										
											2016-07-30 20:22:30 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-02 02:05:49 +03:00
										 |  |  | 				//Wiki.get(to).raw = clearWikiWords( | 
					
						
							|  |  |  | 				//	$('.text').clone()) | 
					
						
							|  |  |  | 				//	.html()  | 
					
						
							| 
									
										
										
										
											2016-07-31 05:28:04 +03:00
										 |  |  | 				// show \n in the inline editor... | 
					
						
							| 
									
										
										
										
											2016-08-02 02:05:49 +03:00
										 |  |  | 				//Wiki.get(to).raw = clearWikiWords( | 
					
						
							|  |  |  | 				//	$('.text').clone() | 
					
						
							|  |  |  | 				//		.find('.tmp-br') | 
					
						
							|  |  |  | 				//			.remove() | 
					
						
							|  |  |  | 				//			.end()) | 
					
						
							|  |  |  | 				//	.html()  | 
					
						
							| 
									
										
										
										
											2016-07-23 05:04:38 +03:00
										 |  |  | 			} | 
					
						
							| 
									
										
										
										
											2016-07-20 05:47:37 +03:00
										 |  |  | 		}) | 
					
						
							|  |  |  | 		// XXX do this live, but on a timeout after user input... | 
					
						
							|  |  |  | 		// XXX need to place the cursor in the same position... | 
					
						
							|  |  |  | 		.blur(() => {  | 
					
						
							| 
									
										
										
										
											2016-07-23 05:04:38 +03:00
										 |  |  | 			$(this) | 
					
						
							|  |  |  | 				.removeAttr('contenteditable') | 
					
						
							|  |  |  | 			reload()  | 
					
						
							|  |  |  | 		}) | 
					
						
							| 
									
										
										
										
											2016-08-02 02:05:49 +03:00
										 |  |  | 	//*/ | 
					
						
							| 
									
										
										
										
											2016-07-23 05:04:38 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-28 09:07:46 +03:00
										 |  |  | 	//text.html(Wiki.get(text.attr('saveto')).text) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	var raw = $('.raw') | 
					
						
							| 
									
										
										
										
											2016-07-23 05:04:38 +03:00
										 |  |  | 		.focus(function(){ | 
					
						
							|  |  |  | 			var to = $(this).attr('saveto') || '.' | 
					
						
							|  |  |  | 			console.log('EDITING:', Wiki.get(to).path) | 
					
						
							|  |  |  | 		}) | 
					
						
							|  |  |  | 		.on('keyup', function(){  | 
					
						
							|  |  |  | 			var to = Wiki.get($(this).attr('saveto') || '.').path | 
					
						
							|  |  |  | 			console.log('SAVING:', to) | 
					
						
							| 
									
										
										
										
											2016-07-30 02:34:08 +03:00
										 |  |  | 			//Wiki.get(to).raw = $(this).text() | 
					
						
							|  |  |  | 			Wiki.get(to).raw = $(this)[0].innerText | 
					
						
							| 
									
										
										
										
											2016-07-23 05:04:38 +03:00
										 |  |  | 		}) | 
					
						
							|  |  |  | 		// XXX do this live, but on a timeout after user input... | 
					
						
							|  |  |  | 		// XXX need to place the cursor in the same position... | 
					
						
							|  |  |  | 		.blur(() => {  | 
					
						
							|  |  |  | 			reload()  | 
					
						
							| 
									
										
										
										
											2016-07-20 05:47:37 +03:00
										 |  |  | 		}) | 
					
						
							| 
									
										
										
										
											2016-07-28 09:07:46 +03:00
										 |  |  | 		//.text($('.raw').html()) | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | 	//raw.text(Wiki.get(raw.attr('saveto')).raw) | 
					
						
							| 
									
										
										
										
											2016-07-31 05:28:04 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-02 02:05:49 +03:00
										 |  |  | 	/* | 
					
						
							| 
									
										
										
										
											2016-07-31 05:28:04 +03:00
										 |  |  | 	$('include') | 
					
						
							|  |  |  | 		.attr('tabindex', 0) | 
					
						
							|  |  |  | 		.click(function(){ | 
					
						
							|  |  |  | 			event.stopPropagation() | 
					
						
							|  |  |  | 		}) | 
					
						
							|  |  |  | 		.focus(function(){ | 
					
						
							|  |  |  | 			var to = $(this).attr('src') || '.' | 
					
						
							|  |  |  | 			var page = Wiki.get(to) | 
					
						
							|  |  |  | 			console.log('EDITING:', page.path) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 			// XXX select editor based on filters... | 
					
						
							|  |  |  | 			$(this) | 
					
						
							|  |  |  | 				//.html(page.text) | 
					
						
							|  |  |  | 				.html($('<pre>') | 
					
						
							|  |  |  | 					.text(page.raw)) | 
					
						
							|  |  |  | 		}) | 
					
						
							|  |  |  | 		.on('keyup', function(){  | 
					
						
							|  |  |  | 			var to = Wiki.get($(this).attr('src') || '.').path | 
					
						
							|  |  |  | 			console.log('SAVING:', to) | 
					
						
							|  |  |  | 			//Wiki.get(to).raw = $(this).text() | 
					
						
							|  |  |  | 			//Wiki.get(to).raw = $(this)[0].innerText | 
					
						
							|  |  |  | 		}) | 
					
						
							|  |  |  | 		// XXX do this live, but on a timeout after user input... | 
					
						
							|  |  |  | 		// XXX need to place the cursor in the same position... | 
					
						
							|  |  |  | 		.blur(() => {  | 
					
						
							|  |  |  | 			reload()  | 
					
						
							|  |  |  | 		}) | 
					
						
							| 
									
										
										
										
											2016-08-02 02:05:49 +03:00
										 |  |  | 	//*/ | 
					
						
							| 
									
										
										
										
											2016-07-20 05:47:37 +03:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-05 03:14:00 +03:00
										 |  |  | var go = (path) => { | 
					
						
							| 
									
										
										
										
											2016-07-20 05:47:37 +03:00
										 |  |  | 	console.log('GO:', path) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-19 23:13:51 +03:00
										 |  |  | 	path = path.trim() | 
					
						
							|  |  |  | 	path = path[0] == '[' ? path.slice(1, -1) : path | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-27 17:33:47 +03:00
										 |  |  | 	// history stuff... | 
					
						
							|  |  |  | 	if(path == 'History/back'){ | 
					
						
							|  |  |  | 		return history.back() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	} else if(path == 'History/forward'){ | 
					
						
							|  |  |  | 		return history.forward() | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-22 23:42:34 +03:00
										 |  |  | 	Wiki.location = path | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-07 05:27:03 +03:00
										 |  |  | 	history.pushState({ | 
					
						
							| 
									
										
										
										
											2016-07-22 23:42:34 +03:00
										 |  |  | 			wikipath: Wiki.location | 
					
						
							| 
									
										
										
										
											2016-07-07 05:27:03 +03:00
										 |  |  | 		},  | 
					
						
							|  |  |  | 		Wiki.title,  | 
					
						
							|  |  |  | 		window.location) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-05 03:14:00 +03:00
										 |  |  | 	reload() | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-30 20:36:32 +03:00
										 |  |  | var exportZip = function(){ | 
					
						
							|  |  |  | 	var zip = new JSZip() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	var pwiki = zip.folder("pWiki") | 
					
						
							|  |  |  | 	pwiki.file("data.json", JSON.stringify(Wiki.__wiki_data)) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	zip.generateAsync({type:"blob"}) | 
					
						
							|  |  |  | 		.then(function(content) { | 
					
						
							|  |  |  | 			// see FileSaver.js | 
					
						
							|  |  |  | 			saveAs(content, "pWiki.zip") | 
					
						
							|  |  |  | 		}) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-05 03:14:00 +03:00
										 |  |  | $(() => { | 
					
						
							| 
									
										
										
										
											2016-07-07 05:27:03 +03:00
										 |  |  | 	$(window).on('popstate', function(evt){ | 
					
						
							|  |  |  | 		event.state  | 
					
						
							|  |  |  | 			&& event.state.wikipath  | 
					
						
							|  |  |  | 			&& go(event.state.wikipath) | 
					
						
							|  |  |  | 	}) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-13 03:20:23 +03:00
										 |  |  | 	// load bootstrap data... | 
					
						
							| 
									
										
										
										
											2016-08-13 03:06:35 +03:00
										 |  |  | 	if(window.Bootstrap){ | 
					
						
							|  |  |  | 		Bootstrap.__proto__ = BaseData | 
					
						
							|  |  |  | 		data = Wiki.__wiki_data = Bootstrap | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-05 03:14:00 +03:00
										 |  |  | 	// load stored data... | 
					
						
							|  |  |  | 	Wiki.__wiki_data = localStorage['wiki-data'] ? | 
					
						
							|  |  |  | 		JSON.parse(localStorage['wiki-data'])  | 
					
						
							|  |  |  | 		: data | 
					
						
							| 
									
										
										
										
											2016-08-02 04:49:01 +03:00
										 |  |  | 	if(Wiki.__wiki_data !== data){ | 
					
						
							|  |  |  | 		Wiki.__wiki_data.__proto__ = data | 
					
						
							|  |  |  | 	} | 
					
						
							| 
									
										
										
										
											2016-07-09 21:40:48 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-05 03:14:00 +03:00
										 |  |  | 	Wiki.location = localStorage['wiki-location'] || Wiki.location | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-09 21:40:48 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-05 03:14:00 +03:00
										 |  |  | 	reload() | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-20 05:47:37 +03:00
										 |  |  | 	//update_editor() | 
					
						
							| 
									
										
										
										
											2016-07-22 21:46:23 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-22 23:42:34 +03:00
										 |  |  | 	// XXX need to resolve relative hashes... | 
					
						
							| 
									
										
										
										
											2016-07-22 21:46:23 +03:00
										 |  |  | 	$(window).on('hashchange', function(evt){ | 
					
						
							|  |  |  | 		evt.preventDefault() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		var path = location.hash.slice(1) | 
					
						
							|  |  |  | 		var hash = path.split('#') | 
					
						
							|  |  |  | 		path = hash.shift() | 
					
						
							|  |  |  | 		hash = hash.pop() || '' | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-23 05:04:38 +03:00
										 |  |  | 		// expand the path... | 
					
						
							|  |  |  | 		if(Wiki.get(path).path != path){ | 
					
						
							|  |  |  | 			location.hash = Wiki.get(path).path | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		// open page... | 
					
						
							|  |  |  | 		} else { | 
					
						
							|  |  |  | 			go(path) | 
					
						
							| 
									
										
										
										
											2016-07-22 21:46:23 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-23 05:04:38 +03:00
										 |  |  | 			if(hash.length > 0){ | 
					
						
							|  |  |  | 				// XXX focus anchor... | 
					
						
							|  |  |  | 			} | 
					
						
							| 
									
										
										
										
											2016-07-22 21:46:23 +03:00
										 |  |  | 		} | 
					
						
							|  |  |  | 	}) | 
					
						
							| 
									
										
										
										
											2016-07-05 03:14:00 +03:00
										 |  |  | }) | 
					
						
							| 
									
										
										
										
											2016-07-28 09:07:46 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-04 19:51:37 +03:00
										 |  |  | </script> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <body> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-20 05:47:37 +03:00
										 |  |  | <div class="wiki"></div> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-04 19:51:37 +03:00
										 |  |  | </body> | 
					
						
							|  |  |  | </html> | 
					
						
							| 
									
										
										
										
											2016-07-05 03:25:47 +03:00
										 |  |  | <!-- vim:set sw=4 ts=4 : --> |