Browse Source

programming: Феминизатор v1.3

master
Maxim Lihachev 9 years ago
parent
commit
4f1f5094ee
  1. 2
      README.md
  2. 4
      feminizator.html
  3. 38
      js/feminitives.js

2
README.md

@ -34,5 +34,5 @@ @@ -34,5 +34,5 @@
феминитивов и просто мысли.
##Версия
1.2
1.3

4
feminizator.html

@ -17,7 +17,7 @@ @@ -17,7 +17,7 @@
<body>
<div style="text-align: center;">
<div id="definition">
<h1>Феминизатор v1.2</h1>
<h1>Феминизатор v1.3</h1>
<input id="definition-word" type="text" placeholder="Слово" autofocus>
<button id="definition-convert" type="button">Феминитивь!</button>
@ -45,7 +45,7 @@ @@ -45,7 +45,7 @@
</div>
<a class="toolbar" href="javascript:show_help()" title="Справка">?</a>
<a class="toolbar" href="javascript:download_image()" title="Сохранить изображение"></a>
<a class="toolbar" href="http://vk.com/share.php?url=http://envrm.github.io/apps/feminizator/gofem.html" title="Поделиться в vk.com"></a>
<a class="toolbar" href="javascript:share_page()" title="Поделиться в vk.com"></a>
</div>
</div>

38
js/feminitives.js

@ -65,17 +65,6 @@ HTML.init = function(root) { @@ -65,17 +65,6 @@ HTML.init = function(root) {
this.button().onclick = () => tr();
};
//Разбор параметров
var URL = {opt: {}};
URL.parse = function() {
var gy = window.location.search.substring(1).split("&");
gy.forEach(arg => {
let ft = arg.split("=");
this.opt[ft[0]] = this.opt[ft[0]] || decodeURIComponent(ft[1]);
});
};
//------------------------------------------------------------------------------
//Правила создания феминитивов
@ -87,7 +76,8 @@ FEM.endings = { @@ -87,7 +76,8 @@ FEM.endings = {
['ан', 0],
['рг', 1],
['ст', 0], //специалист -> специалистка
['ец', 2] //канадец -> канадка
['ец', 2], //канадец -> канадка
['ет', 0] //авторитет -> авторитетка
],
'ина' : [
['ас', 0]
@ -101,6 +91,7 @@ FEM.endings = { @@ -101,6 +91,7 @@ FEM.endings = {
['ач', 0], //врач -> врачиня
['ст', 0], //специалист -> специалистиня
['од', 0], //метод -> методиня
['ет', 2], //авторитет -> авторитиня
['ец', 2] //канадец -> канадиня
],
'киня' : [
@ -119,6 +110,7 @@ FEM.endings = { @@ -119,6 +110,7 @@ FEM.endings = {
['ый', 2], //учёный -> учёнесса
['ст', 0], //специалист -> специалистесса
['од', 0], //метод -> методесса
['ет', 2], //авторитет -> авторитесса
['ец', 2] //канадец -> канадесса
],
'ица' : [
@ -133,20 +125,26 @@ FEM.endings = { @@ -133,20 +125,26 @@ FEM.endings = {
['ач', 0], //врач -> врачица
['ст', 3], //специалист -> специалица
['од', 0], //метод -> методица
['ет', 2], //авторитет -> авторитица
['ец', 2] //канадец -> канадица
],
'ница' : [
['ль', 0],
['ас', 0],
['ет', 0], //авторитет -> авторитетица
['ец', 2] //канадец -> канадница
],
'ая' : [
['[ыио]й', 2], //учёный -> учёная, знающий -> знающая
['ое', 2]
],
//----- ДАЛЬШЕ ИДЁТ ШИЗА -----
'ии' : [
['и[ия]', 2], //металлургии -> металлург_ии, произведения -> произведении
],
'ца' : [
['ие', 1], //металлургии -> металлург_ии, произведения -> произведении
],
'ми' : [
['ми', 2] //знаниями -> знания_ми
],
@ -236,6 +234,12 @@ function construct_feminitive(stem, ending, gap) { @@ -236,6 +234,12 @@ function construct_feminitive(stem, ending, gap) {
return gap ? stem + css_gender_gap + css_end(ending) : stem + "_" + ending;
}
//Отправка адреса страницы в vk.com
function share_page() {
var new_tab = window.open("http://vk.com/share.php?url=" + URL.opt.href,'_blank');
new_tab.focus();
}
//Сохранение изображения с феминитивом
function download_image() {
html2canvas(HTML.image(), {
@ -332,6 +336,10 @@ function tr(word) { @@ -332,6 +336,10 @@ function tr(word) {
var wd = word || HTML.input().value.trim().toLowerCase().split(" ")[0];
var feminitives = "";
//Изменение адреса
window.location.hash = wd;
URL.opt.href = window.location.href;
HTML.dict().innerHTML = "";
HTML.content().innerHTML = "";
@ -358,10 +366,14 @@ function tr(word) { @@ -358,10 +366,14 @@ function tr(word) {
//------------------------------------------------------------------------------
var URL = {opt: {}};
//Инициализация с разбором адресной строки
function init(container) {
HTML.init(container);
URL.parse();
URL.opt.href = window.location.href;
URL.opt.word = window.location.hash.substring(1) || null;
if (URL.opt.word) {
HTML.input().value = URL.opt.word.replace(/\+/g," ");

Loading…
Cancel
Save