<!DOCTYPE html>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div align="center">
<div class="readme">Скрипт форматирует текст для баттхерт-треда.
<ul>
<li>Можно не ставить "@", достаточно просто перевести строку, программа сама их расставит.</li>
<li>Допускается вместо "@" использовать русскую или аглийскую букву "А" любого регистра.</li>
<li>Любые буквы из строчных станут прописными.</li>
</ul>
</div>
<form id="formText">
<div class="checkbox">
<label><input type="checkbox" id="checkLink" value="linkTrue"
>Вставить ссылку на программу</label>
</div>
<br>
<textarea id="textButthurt" name="text"></textarea>
<br>
<input type="button" id="buttonText" value="Форматировать"><span id="annotation">или Ctrl+Enter / Ctrl+V</span>
</form>
</div>
<script src="script.js"></script>
</body>
</html>
textarea {
width: 400px;
height: 400px;
}
.readme {
width: 400px;
padding: 0px 0px;
text-align: left;
}
#buttonText {
position: relative;
}
#annotation {
font-style: italic;
position: absolute;
padding: 0px 5px;
}
#checkLink {
}
.checkbox {
width: 400px;
text-align: left;
}
var button = document.getElementById('buttonText');
var textArea = document.getElementById("textButthurt");
var checkLink = document.getElementById("checkLink");
function parseText() {
if(!textArea.value) return false;
var text = textArea.value;
var arrText = text.split("\n");
var dog = false;
for (var i = 0; i < arrText.length; i++) {
if (arrText[i] == "") continue;
function nextString() {
var b = i + 1;
if (arrText[b] == "A" || arrText[b] == "a" || arrText[b] == "а" || arrText[b] == "А" ||
arrText[b] == "@" || arrText[b] == "" || arrText[b] == "**") {
dog = true;
} else {
dog = false;
}
}
nextString();
if (arrText[i] == "A" || arrText[i] == "a" || arrText[i] == "а" || arrText[i] == "А" ||
arrText[i] == "@") {
arrText[i] = "@";
} else if (i < (arrText.length - 1) && !dog) {
arrText[i] = arrText[i].concat("\n@");
}
}
text = arrText.join("\n");
text = text.toUpperCase();
if (text.indexOf("**") != 0) {
var newString = "**";
var newString = newString.concat(text);
text = newString;
}
if (text.lastIndexOf("**") != (text.length - 2) && text.lastIndexOf("**") != (text.length - 1)) {
var newString = "**";
var newString = text.concat(newString);
text = newString;
}
var checkingLink = text.indexOf(String(window.location).toUpperCase());
if (checkLink.checked && checkingLink < 0) text = text.concat("\n\n*" + window.location + "*");
textArea.value = text;
textArea.select();
}
function ctrlEnter(e) {
if (textArea.value) {
button.click();
}
}
function ctrlV(e) {
if (textArea.value) {
button.click();
}
}
button.onclick = function (e) {
parseText();
}
window.onkeydown = function(e) {
if (e.ctrlKey && e.keyCode == 13) ctrlEnter(e);
}
window.onkeyup = function(e) {
if (e.ctrlKey && e.keyCode == 86) ctrlV(e);
}