<commit_before>	// FirefoxでinnerTextが使えない対策
    (function(){
        var temp = document.createElement("div");
        if (temp.innerText == undefined) {
            Object.defineProperty(HTMLElement.prototype, "innerText", {
                get: function()  { return this.textContent },
                set: function(v) { this.textContent = v; }
            });
        }
    })();

	/* 編集不可ブラウザ判定 */

	// Blobが使用できないブラウザは保存不可(IE9等)
	try {
		new Blob(["temp"]);
	} catch(e) {
		setViewMode(); 
	}

	// Safariはdownload属性に対応していないので閲覧のみ
	var ua = window.navigator.userAgent.toLowerCase();
	if ((ua.indexOf("chrome") == -1) && (ua.indexOf('safari') != -1)) {
		setViewMode();
	}

	function setViewMode() {
		document.getElementById("messageArea").innerText
				 = "このブラウザでは編集できません。";
		var navElems = document.querySelectorAll("nav > *");
		for (var i = 0; i < navElems.length; i++) {
			navElems[i].setAttribute("disabled", "disabled");
		}
	}

	/* アップデート */
	var eventListeners = [];
	function on(elementOrQuery, eventName, callback) {
		var element;
		if (typeof elementOrQuery === "string") {
			element = document.querySelector(elementOrQuery);
		} else {
			element = elementOrQuery;
		}
		
		element.addEventListener(eventName, callback);
		
		eventListeners.push({
			element: element,
			eventName: eventName,
			callback: callback,
		});	
	}

	function removeAllEvents() {
		for (var i = 0; i < eventListeners.length; i++) {
			var element = eventListeners[i].element;
			var eventName = eventListeners[i].eventName;
			var callback = eventListeners[i].callback;
			element.removeEventListener(eventName, callback);
		}
		eventListeners = [];
	}

	function updateVersion() {
		var versionElements = document.getElementsByClassName("version");
		for (var i = 0 ; i < versionElements.length; i++) {
			versionElements[i].innerText = kantanVersion;
		}
	}
	
	function kantanUpdate(json) {
		json.doUpdate();
	}
	
	on("#updateButton", "click", function(event) {
		event.preventDefault();
		
		if(!window.confirm(
				"最新版にアップデートします。\n" +
				"不測の事態に備えて、現在編集中のドキュメントは保存しておくことをお勧めします。\n" + 
				"\n" + 
				"【OK】：アップデート実行(あと何回かダイアログが表示されます)\n" + 
				"【キャンセル】：キャンセル")){
			return false;
		}
		
		var script = document.createElement("script");
		script.src = "http://localhost:3000/kantanUpdate.js";
		script.onerror = function () {
			alert("アップデートに失敗しました。\n" + 
			"アップデート用のファイルにアクセスできませんでした。\n" + 
			"インターネットに接続されていないか、サーバーダウンです");
		};
		document.querySelector("body").appendChild(script);
		
		return false;
	})
	
	/* バージョン埋め込み */
	updateVersion();

	/* エディタに機能追加 */
	toKantanEditor(document.getElementById("editor"));

	/* シンタックスハイライト設定 */
	if (typeof hljs !== "undefined") {
		marked.setOptions({
			highlight: function (code, lang) {
				return hljs.highlightAuto(code, [lang]).value;<commit_msg>アップデートのURLを本番向けに変更<commit_after>	// FirefoxでinnerTextが使えない対策
    (function(){
        var temp = document.createElement("div");
        if (temp.innerText == undefined) {
            Object.defineProperty(HTMLElement.prototype, "innerText", {
                get: function()  { return this.textContent },
                set: function(v) { this.textContent = v; }
            });
        }
    })();

	/* 編集不可ブラウザ判定 */

	// Blobが使用できないブラウザは保存不可(IE9等)
	try {
		new Blob(["temp"]);
	} catch(e) {
		setViewMode(); 
	}

	// Safariはdownload属性に対応していないので閲覧のみ
	var ua = window.navigator.userAgent.toLowerCase();
	if ((ua.indexOf("chrome") == -1) && (ua.indexOf('safari') != -1)) {
		setViewMode();
	}

	function setViewMode() {
		document.getElementById("messageArea").innerText
				 = "このブラウザでは編集できません。";
		var navElems = document.querySelectorAll("nav > *");
		for (var i = 0; i < navElems.length; i++) {
			navElems[i].setAttribute("disabled", "disabled");
		}
	}

	/* アップデート */
	var eventListeners = [];
	function on(elementOrQuery, eventName, callback) {
		var element;
		if (typeof elementOrQuery === "string") {
			element = document.querySelector(elementOrQuery);
		} else {
			element = elementOrQuery;
		}
		
		element.addEventListener(eventName, callback);
		
		eventListeners.push({
			element: element,
			eventName: eventName,
			callback: callback,
		});	
	}

	function removeAllEvents() {
		for (var i = 0; i < eventListeners.length; i++) {
			var element = eventListeners[i].element;
			var eventName = eventListeners[i].eventName;
			var callback = eventListeners[i].callback;
			element.removeEventListener(eventName, callback);
		}
		eventListeners = [];
	}

	function updateVersion() {
		var versionElements = document.getElementsByClassName("version");
		for (var i = 0 ; i < versionElements.length; i++) {
			versionElements[i].innerText = kantanVersion;
		}
	}
	
	function kantanUpdate(json) {
		json.doUpdate();
	}
	
	on("#updateButton", "click", function(event) {
		event.preventDefault();
		
		if(!window.confirm(
				"最新版にアップデートします。\n" +
				"不測の事態に備えて、現在編集中のドキュメントは保存しておくことをお勧めします。\n" + 
				"\n" + 
				"【OK】：アップデート実行(あと何回かダイアログが表示されます)\n" + 
				"【キャンセル】：キャンセル")){
			return false;
		}
		
		var script = document.createElement("script");
		script.src = "http://tatesuke.github.io/KanTanMarkdown/kantanUpdate.js";
		script.onerror = function () {
			alert("アップデートに失敗しました。\n" + 
			"アップデート用のファイルにアクセスできませんでした。\n" + 
			"インターネットに接続されていないか、サーバーダウンです");
		};
		document.querySelector("body").appendChild(script);
		
		return false;
	})
	
	/* バージョン埋め込み */
	updateVersion();

	/* エディタに機能追加 */
	toKantanEditor(document.getElementById("editor"));

	/* シンタックスハイライト設定 */
	if (typeof hljs !== "undefined") {
		marked.setOptions({
			highlight: function (code, lang) {
				return hljs.highlightAuto(code, [lang]).value;
{'fraction_non_alphanumeric': 0.1561945331913383, 'fraction_numerical': 0.0028399006034788782, 'mean_word_length': 3.559061488673139, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1970391', 'n_tokens_mistral': 2463, 'n_tokens_neox': 2197, 'n_words': 317}