This commit is contained in:
UndeadMaelys 2022-05-04 20:02:10 +02:00
commit bb863c6786
21 changed files with 715 additions and 0 deletions

70
base.html Normal file
View File

@ -0,0 +1,70 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>avg convo</title>
<link href="text_analysis.css" rel="stylesheet">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<main>
<div class="convo-container">
<div class="convo">
<div class="convo-header">
<img src="https://cdn.discordapp.com/avatars/817048392436809778/deb3e457f46c4e696b826bd5fa21cb42.png?size=128"
alt="ariri">
<span>ariri</span>
<span class="convo-date">2022/05/04</span>
</div>
<p>this is some text
</p>
</div>
<div class="notes">
<p>here are some notes about something!</p>
</div>
</div>
<div class="convo-container right">
<div class="convo">
<div class="convo-header">
<img src="https://cdn.discordapp.com/avatars/178884154568605696/25a800bbdc6cbbd8f1ef25a805d03651.png?size=128"
alt="ariri">
<span>remrem</span>
<span class="convo-date">2022/05/04</span>
</div>
<p>
ariri is really cute actually
</p>
</div>
</div>
<div class="spacer"></div>
<div class="words">
<p>words used:</p>
<table>
<tbody>
<tr>
<th>heonian</th>
<th>romanization</th>
<th>type</th>
<th>meaning</th>
</tr>
<tr>
<td></td>
<td>ariri</td>
<td>objective fact</td>
<td>a cute cat</td>
</tr>
<tr>
<td></th>
<td>liliku</td>
<td>verb</td>
<td>to like (but twice, for emphasis)</td>
</tr>
</tbody>
</table>
</div>
</main>
</body>
</html>

87
converter.lua Normal file
View File

@ -0,0 +1,87 @@
function apply_html(path)
-- copy
local file = io.open(path,"r")
local html = file:read("*all")
file:close()
-- paste
print(html)
end
function convo_start(color)
if not convo then
if color then
apply_html("html/convo/start_green.html")
else
apply_html("html/convo/start_gray.html")
end
convo = true
end
end
function convo_end()
if convo then
apply_html("html/convo/end.html")
convo = false
end
end
-- lets make the html
apply_html("html/start.html")
-- get text
local file = io.open("input.txt","r")
local text = file:read("*all")
file:close()
-- first analyze text
-- (this is the fun part)
local p = 0
local s = 0
local convo = false
local green = true
while p ~= nil do
s = s + 1
local np = string.find(text,"\n",p+1)
if np and p - np ~= 1 then
if p then
if string.sub(text,p+1,p+1) == "\n"
or string.sub(text,p+1,p+1) == "/" then
-- end of new bubble
convo_end()
elseif string.sub(text,p+1,p+1) == "\t" then
-- its tabbed so its spoken?
convo_start()
apply_html("html/convo/text/start.html")
print(string.sub(text,p+2,np-1))
apply_html("html/convo/text/end.html")
else
-- new user name
convo_end()
if green then
green = false
else
green = true
end
convo_start(green)
apply_html("html/convo/header/start.html")
apply_html("html/convo/header/name/start.html")
print(string.sub(text,p+1,np-1))
apply_html("html/convo/header/name/end.html")
apply_html("html/convo/header/end.html")
--print(s,string.sub(text,p+1,np))
end
else
--print(s,string.sub(text,p+1))
end
p = string.find(text,"\n",p+1)
else
break
end
end
apply_html("html/convo/end.html")
-- fourth lets make word lists
-- lets end the html
apply_html("html/end.html")

2
html/convo/end.html Normal file
View File

@ -0,0 +1,2 @@
</div>
</div>

View File

@ -0,0 +1 @@
</span>

View File

@ -0,0 +1,2 @@
<span class="convo-date">

View File

@ -0,0 +1 @@
</div>

View File

@ -0,0 +1 @@
<p>

View File

@ -0,0 +1 @@
</span>

View File

@ -0,0 +1 @@
<span>

View File

@ -0,0 +1 @@
<div class="convo-header">

View File

@ -0,0 +1,2 @@
<div class="convo-container">
<div class="convo">

View File

@ -0,0 +1,2 @@
<div class="convo-container right">
<div class="convo">

1
html/convo/text/end.html Normal file
View File

@ -0,0 +1 @@
</p>

View File

@ -0,0 +1 @@
<p>

4
html/end.html Normal file
View File

@ -0,0 +1,4 @@
</main>
</body>
</html>

9
html/start.html Normal file
View File

@ -0,0 +1,9 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>avg convo</title>
<link href="text_analysis.css" rel="stylesheet">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>

69
input.txt Normal file
View File

@ -0,0 +1,69 @@
LU'NYA
nyanpash! balfur yu e she polika'nya dre?
ESH'NYUI
re chu meshu yu polika'nya
(po'nyash!!!)
LU'NYA
aa, anko!
(po'nyash!)
ESH'NYUI
ba yu e wawote to pu mipura lili'nya dre?
uwu
LU'NYA
relfur chu mya pu yu mya relfur lup apatkanya fakanyapash ponme mya wawote polikanya peekakanyapash.
ESH'NYUI
mishipash~
balfur yu e ton polikanya dre?
LU'NYA
mishipash!!
relfurla mya ton polika'nya yu meluton kanya!
balfurla yu dra?
ESH'NYUI
relfurla yu eshdre mya ton polikanya yu puroton kanya~
relfur yu shirobaepu yu ponya kanya~
LU'NYA
puroton yu ponya ton kanya!
ESH'NYUI
benyui-rerenlafura yu meluton mimifakanya…
relfur yu meluton mimiku'pash~
LU'NYA
o, relfur chu parefakanya…
benyui-babanlafura yu meluton naomiminku dre?
ESH'NYUI
uu, relfur yu naomiminku mya mimifuku mya ton kanya...
relfur yu guraton to meluton mimifuku..
relfur yu ton mimikupash~
LU'NYA
ishi-balfur yu mishi'pash!
balfur chu mya arilaen yu en kanya peekakanya fa'dre?
ESH'NYUI
yesh-balfur yu mishi'pash~
(>///////////////<)
relfur yu arilaen parefakanya, balfur yu parekanya dra?
LU'NYA
relfur chu arilaen dedakanya.
imanla rila shashkanyapash.
imanla shoo chu ike to pikeshe kanya.
/
relfur chu arilaenlan lukanyapash.
ESH'NYUI
arilaenla shoo chu pikeshe fukanyabash dra?
LU'NYA
gao chu relfur yu fayu kanya.
relfur chu arilaen dedakanya.

71
input_example.txt Normal file
View File

@ -0,0 +1,71 @@
LU'NYA
nyanpash! balfur yu e she polika'nya dre?
ESH'NYUI
re chu meshu yu polika'nya
(po'nyash!!!)
LU'NYA
aa, anko!
(po'nyash!)
ESH'NYUI
ba yu e wawote to pu mipura lili'nya dre?
uwu
LU'NYA
relfur chu mya pu yu mya relfur lup apatkanya fakanyapash ponme mya wawote polikanya peekakanyapash.
ESH'NYUI
mishipash~
balfur yu e ton polikanya dre?
LU'NYA
mishipash!!
relfurla mya ton polika'nya yu meluton kanya!
balfurla yu dra?
ESH'NYUI
relfurla yu eshdre mya ton polikanya yu puroton kanya~
relfur yu shirobaepu yu ponya kanya~
LU'NYA
puroton yu ponya ton kanya!
ESH'NYUI
benyui-rerenlafura yu meluton mimifakanya…
relfur yu meluton mimiku'pash~
LU'NYA
o, relfur chu parefakanya…
benyui-babanlafura yu meluton naomiminku dre?
ESH'NYUI
uu, relfur yu naomiminku mya mimifuku mya ton kanya...
relfur yu guraton to meluton mimifuku..
relfur yu ton mimikupash~
LU'NYA
ishi-balfur yu mishi'pash!
balfur chu mya arilaen yu en kanya peekakanya fa'dre?
ESH'NYUI
yesh-balfur yu mishi'pash~
(>///////////////<)
relfur yu arilaen parefakanya, balfur yu parekanya dra?
LU'NYA
relfur chu arilaen dedakanya.
imanla rila shashkanyapash.
imanla shoo chu ike to pikeshe kanya.
relfur chu arilaenlan lukanyapash.
ESH'NYUI
arilaenla shoo chu pikeshe fukanyabash dra?
LU'NYA
gao chu relfur yu fayu kanya.
relfur chu arilaen dedakanya.

0
readme.md Normal file
View File

276
test.html Normal file
View File

@ -0,0 +1,276 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>avg convo</title>
<link href="text_analysis.css" rel="stylesheet">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<div class="convo-container">
<div class="convo">
<div class="convo-header">
<span>
LU'NYA
</span>
</div>
<p>
nyanpash! balfur yu e she polika'nya dre?
</p>
</div>
</div>
<div class="convo-container right">
<div class="convo">
<div class="convo-header">
<span>
ESH'NYUI
</span>
</div>
<p>
re chu meshu yu polika'nya
</p>
<p>
(po'nyash!!!)
</p>
</div>
</div>
<div class="convo-container">
<div class="convo">
<div class="convo-header">
<span>
LU'NYA
</span>
</div>
<p>
aa, anko!
</p>
<p>
(po'nyash!)
</p>
</div>
</div>
<div class="convo-container right">
<div class="convo">
<div class="convo-header">
<span>
ESH'NYUI
</span>
</div>
<p>
ba yu e wawote to pu mipura lili'nya dre?
</p>
<p>
uwu
</p>
</div>
</div>
<div class="convo-container">
<div class="convo">
<div class="convo-header">
<span>
LU'NYA
</span>
</div>
<p>
relfur chu mya pu yu mya relfur lup apatkanya fakanyapash ponme mya wawote polikanya peekakanyapash.
</p>
</div>
</div>
<div class="convo-container right">
<div class="convo">
<div class="convo-header">
<span>
ESH'NYUI
</span>
</div>
<p>
mishipash~
</p>
<p>
balfur yu e ton polikanya dre?
</p>
</div>
</div>
<div class="convo-container">
<div class="convo">
<div class="convo-header">
<span>
LU'NYA
</span>
</div>
<p>
mishipash!!
</p>
<p>
relfurla mya ton polika'nya yu meluton kanya!
</p>
<p>
balfurla yu dra?
</p>
</div>
</div>
<div class="convo-container right">
<div class="convo">
<div class="convo-header">
<span>
ESH'NYUI
</span>
</div>
<p>
relfurla yu eshdre mya ton polikanya yu puroton kanya~
</p>
<p>
relfur yu shirobaepu yu ponya kanya~
</p>
</div>
</div>
<div class="convo-container">
<div class="convo">
<div class="convo-header">
<span>
LU'NYA
</span>
</div>
<p>
puroton yu ponya ton kanya!
</p>
</div>
</div>
<div class="convo-container right">
<div class="convo">
<div class="convo-header">
<span>
ESH'NYUI
</span>
</div>
<p>
benyui-rerenlafura yu meluton mimifakanya…
</p>
<p>
relfur yu meluton mimiku'pash~
</p>
</div>
</div>
<div class="convo-container">
<div class="convo">
<div class="convo-header">
<span>
LU'NYA
</span>
</div>
<p>
o, relfur chu parefakanya…
</p>
<p>
benyui-babanlafura yu meluton naomiminku dre?
</p>
</div>
</div>
<div class="convo-container right">
<div class="convo">
<div class="convo-header">
<span>
ESH'NYUI
</span>
</div>
<p>
uu, relfur yu naomiminku mya mimifuku mya ton kanya...
</p>
<p>
relfur yu guraton to meluton mimifuku..
</p>
<p>
relfur yu ton mimikupash~
</p>
</div>
</div>
<div class="convo-container">
<div class="convo">
<div class="convo-header">
<span>
LU'NYA
</span>
</div>
<p>
ishi-balfur yu mishi'pash!
</p>
<p>
balfur chu mya arilaen yu en kanya peekakanya fa'dre?
</p>
</div>
</div>
<div class="convo-container right">
<div class="convo">
<div class="convo-header">
<span>
ESH'NYUI
</span>
</div>
<p>
yesh-balfur yu mishi'pash~
</p>
<p>
(>///////////////<)
</p>
<p>
relfur yu arilaen parefakanya, balfur yu parekanya dra?
</p>
</div>
</div>
<div class="convo-container">
<div class="convo">
<div class="convo-header">
<span>
LU'NYA
</span>
</div>
<p>
relfur chu arilaen dedakanya.
</p>
<p>
imanla rila shashkanyapash.
</p>
<p>
imanla shoo chu ike to pikeshe kanya.
</p>
</div>
</div>
<div class="convo-container">
<div class="convo">
<p>
relfur chu arilaenlan lukanyapash.
</p>
</div>
</div>
<div class="convo-container right">
<div class="convo">
<div class="convo-header">
<span>
ESH'NYUI
</span>
</div>
<p>
arilaenla shoo chu pikeshe fukanyabash dra?
</p>
</div>
</div>
<div class="convo-container">
<div class="convo">
<div class="convo-header">
<span>
LU'NYA
</span>
</div>
<p>
gao chu relfur yu fayu kanya.
</p>
<p>
relfur chu arilaen dedakanya.
</p>
</div>
</div>
</main>
</body>
</html>

113
text_analysis.css Normal file
View File

@ -0,0 +1,113 @@
:root {
--notes-color: rgb(255, 235, 181);
--spacer-color: rgba(0,0,0,0.4);
--spacer-color-2: rgba(0,0,0,0.2);
--left-color: rgb(167, 179, 167);
--right-color: rgb(97, 206, 97);
}
@font-face {
font-family: "heonian";
src: url('https://cronut.cafe/~lustlion/myrheon/HeonianAlone.otf');
}
body {
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif
}
main {
max-width: 600px;
margin: auto;
}
.convo-container {
display: flex;
justify-content: space-between;
align-items: center;
margin: 8px;
}
.right {
flex-direction: row-reverse;
}
.convo {
width: 400px;
border: 1px solid var(--left-color);
border-radius: 8px;
padding: 8px;
}
.right .convo {
border: 1px solid var(--right-color);
}
.convo p {
margin: 0;
margin-top: 8px;
}
.convo-header {
display: flex;
justify-content: space-between;
align-items: center;
font-size: 1.5rem;
}
.convo-header img {
border-radius: 42069px;
width: 48px;
margin-right: 8px;
}
.convo-date {
font-size: 0.75rem;
color: var(--spacer-color);
flex-grow: 1;
text-align: right;
}
.notes {
width: 300px;
margin: 8px;
border-top: 1px solid var(--notes-color);
border-bottom: 1px solid var(--notes-color);
text-align: center;
}
.spacer {
width: calc(100% - 16px);
height: 1px;
margin-top: 8px; margin-bottom: 8px;
margin: auto;
background-color: var(--spacer-color);
}
.words {
text-align: center;
}
.words table {
margin: auto;
border-collapse: collapse;
text-align: left;
}
.words table td, .words table th {
padding: 8px;
border-right: 1px solid var(--spacer-color-2);
}
.words table td:last-child, .words table th:last-child {
border-right: none;
}
.words table th {
border-top: 1px solid var(--spacer-color);
border-bottom: 1px solid var(--spacer-color);
}
.words table td:first-of-type {
font-family: "heonian";
}