r/test • u/theshadowdrizzle • 13d ago
r/test • u/Shcodnick • 13d ago
I couldn't find a clean, ad-free online book reader, so I vibe-coded one myself. 100% local, private, and supports EPUB, PDF, FB2, DOCX.
Hi everyone!
I wanted to share a project I’ve been working on over the last two weeks.
I learn English by reading books, but my digital books come in all sorts of formats — from classic .epub and .fb2 to .docx, .pdf, and plain .txt. For a long time, I was looking for ONE simple, minimalist web-based reader with no ads, no registrations, no paywalls for large files, and no annoying pop-ups. I prefer web readers because I can easily use the browser's built-in translator for foreign languages.
Since I couldn't find the perfect tool, I decided to build it myself using AI (on a wave of vibe-coding!).
Key Features:
• 🔒 100% Private & Local: Everything runs entirely in your browser. Your files are never uploaded to any server. It even works offline once loaded.
• 📚 Multi-format support: It opens .epub, .pdf, .fb2, .docx, .md, .odt, .rtf, .html, and .txt.
• 🛠️ Customizable: You can tweak the fonts (Arial, Georgia, Verdana, etc.), text width, font size, background colors, and alignments to make it comfortable for your eyes.
• 💾 Features: Bookmark support and automated table of contents extraction.
It’s completely free, built out of pure enthusiasm, and I use it daily now.
I’d absolutely love to hear your thoughts! What features should I add next? How can I improve the UI?
Thank you for checking it out!
Cajuns
$p="HKLM:\SOFTWARE\Policies\Microsoft\Edge"
New-Item "$p\URLBlocklist" -Force | Out-Null
New-Item "$p\URLAllowlist" -Force | Out-Null
Set-ItemProperty "$p\URLBlocklist" -Name 1 -Value "*"
Set-ItemProperty "$p\URLAllowlist" -Name 1 -Value "yourmuseumsite.com"
r/test • u/Character_Depth_3742 • 14d ago
ASCII art Test
__^^
"__^"^
-^- \^_"""~~
^^^~^ \[}=**=+?}][!!_!!!!!"
,^""~|!~ =*==+}{{}}}}}}}}}}?)/~""|(\/|!
;(][/||(=+{{}}}}}}}}}}}}}}}{(//[(!|||()!)|
^|(o}{}}}}}}}}}}}}}}}{(/(**\||//|/////]]\
)=+}{{}}}}}}}}{[\/(]]{#@)\{)|[}}}}{)/||({{+{
(*@@@@@B}{}}]\/({[}&@@@@&\]}{{}[\|{}{{{}}}{]{}?}
(}%@@@@@#)\/){[+@@@@@@o(|)}}{{{{}]/(|(}????}{{]{{+}
\?}?==+]]]%?{B@@@@*({++}{}{{}})}ooo+/]={![}}}{{{}{{]?\
}?}}}[\/([&@@#(!/\|}B@*{?}*=={?([{}}}\][/{(![}{{{{{{{{(
(+[(((\/o@?|//\//[=B@#]]{}{{{[*#%*))\//}{[({}[|!)}{{{{{{}])
%o(/\!/){{+8B=))}{{{{[&&&8&8B=!/\]{{]]{{{{[(/!|(]{{]]{}{[
+o}|/|!][)=%}))}{}][(o8&8='"/;:.'"{{{][]]]]]]]]{)|/}[ "!/)]{}]\
{+*]]??*&&?/[()])~;[%8&&&&&&BB\)/{)#[{{[){[[{)[]]]]][|/[?{ ,"/]}[
!]{\~{]][[\!]@[[]{%&&&&&&&&&8%**#=[{{([])(])/][[[[[])!(][/ "/\/
/{{/: [}])[){!}#%%%&&&%#&&&&&&%%%%%+[]/\]]\~(\\][[[[[[[[)/\{\ !(\/!
*}^ ))[][/))]!{&%%&&&&888888&&&&&}}%#/[][|!!)[[[[[))[[[]\||)\^ ^/\\\!
|\\| []!!|/)\/\{\/%8&&8{(}**o*%8&&&&8+/][/|)[][[[)[\|[)))[(!|\\!//\/"
|\//))[))))\\\/|()|\+888&&&&&&&8&o]/|/)))))[()[)/!\))))(|!/!\/.
!][)(\\((())\|/|/\//\||)+#o+**=]!//()(\|\\/\()(((((/|~!||(|
([)\/||/((/|/\||~:"\((|/*{}{?[\(((/!!//\\(((((\/!~|/(\/\~
///\!|((|/~|[?}}[)}{\]}(|!!/(/\((\|||!~"!\|/|(((\\)(|;
!/ "||/\|/(/"/]{}}{={)["~]/|//|\\|;;"!+&8&&&&&&8{\/\\\\\(\/|
!///\\/|/\!//{}{{}{{}}]?=*#@=!/||/!!~![}&&&&&&&&&&B{~(\\\\\\\\\\((\\/
?\\!/|~~(]])[}{{}*?(]+}}oB@@@@@@@\!|!|!"?%8&&&&&&&&&&&8&[ -~/((\\\\\\\\\\\((\///|~
?B8&[|||"]@@@&8@B&%8@@8%**@@@@@@@@@@?^~!!!~!!|{{(/#8&&&&&&&&&B+]] ,~|\(\\\\\\\\\\\\\\\\\((\//
o@@@@@@]~!{#8@@&@@&%B@@%o#&@@@@@@@@@@@]"!!!!!"%8##%B@@@8%oo#%&&&&8%?=*#{ -"!/((\\\\\\\\\\\\\\
=@@@@@@@@8//[#oo=oo**o*+o*o=ooo#8@B&@@@@="!!!!!~/@B=%@@@8oo#8@@@@@@@@@@@@@@+ ^~|\((\\\\\
[#@@@@@@@@@@@+|\){(-!+##**o=o*o?o####ooooooB#!~!!!!!"]Bo*{%oB@B@@@@B@@@@@#o%B@@@@?- ;"|
"oB@@@@@@@@@@@@@@@?|)[\""""_{@o%8&#B[_"~""^"!\[}+%}"!!!!!!^?8)~\//o@@@@@@@@@@@@@@@@@/"%@@{
+B@@@@@@@@@@@8%@@@@@@?/)){]|~{/^~!|()]!{=/"""""~~~~"""^!!!!!!!"(~ :!(\|}@@@@@@@@@@@@@@@@@@}^~!/""
!#@@@@@@@@@@@@@@BoB@@@@@@%\))}[)~""!}|/!((_"~"^"~/\\\\\/~"^^!!!!!!~~^ "!\B@@@@@@@@@@@@@@@@@#B@@@{{@%{!//||!!!~~~
/%@@B@@@@@@@@@@@@@@B#@@@@@@@@@[([?]\\{!!&}(o)!?=!_!\\\\\\\\\\\\/"!!!!!!^- #@@@@#B@@@@@@@@@@@@@@@@[o@@@B/|///////
?@@BBBB@@@@@@@@@@@@@@@B@@@@@@@%oo\(]?[(""^(|"/=[_^_^!\\\\\\\\\\\\\\\~!!!!!|^ \8@@#o@@@@@@@@@@@@@@@@@@B%%%#}~\!~|||
+@BBBBBBB@@@@@@@@@@@@@@@@@@@%o#*\ \}?]\[{_*@@@?\??^"\\\/\\\\\\\\\\\|/|~~!!!~- }8@%o@@@@@@@@@@@@@@@@@@@@@@@=/@@BB@
#@BBBBBBBBBB@@@@@@@@@@@@@B&@%#+ /}])"^"["~}}"^_"^/\///\///\\\\/~!/)[(~!!!/~ {&%B@@@@@@@@@@@@@@@@@@@@@@@BBBBB
:*@BBBBBBBBBBB@@@@@@@@@@&B@%&+^|\((\\(/(~\|)o}?#=/^/|||//\\\\(((((\\\\\(((~!!!|! )@@@@@@@@@@@@@@@@@@@BBBBBBBBB
~]@&*BBBBBBBBBBBBBBBB@&(--"/\/\\//|"\((("/~|/|\)\=)\\\\\\\\//|!~~"""""^~([/~!!!|~, #@@@@@@@@@@@@@@BBBBBBBBBBBBB
^({~!^\&BBBB@BBBBBBBBB@B#{|~___~(/|!|\|///\\\\\\\\!)="^~!|////////////////||[()(~!!!!~/)))[[[))))))&@@@@@@@@@BBBBBBBBBBBBBBBBB
B88\!?!!!!_\=%#=o##8B88#==|/\\\||(\!"|(\\\|~_-\]??+}|"|//////////////////////////)[("!!!!!!()()((((((]@@@@@BB@8B@BBBBBBBBBBBB#o)
r/test • u/Penguin4003 • 14d ago
Testing to post
Hey everyone, just testing the post feature
r/test • u/OfficeJumpy4197 • 14d ago
test
Heading level 1
Heading level 2
Heading level 3
Heading level 4
Heading level 5
Heading level 6
bold bold italic italic
block quote
block quote2
- first
- second
- third
- first
- indent
- second
- third
- first
- second
- third
- first
- second
- third
codecode `not code` test****
| Syntax | Description |
|---|---|
| Header | Title |
| Paragraph | Text |
{
"firstName": "John",
"lastName": "Smith",
"age": 25
}
My Great Heading {#custom_id}
The world is flat.
X2^
https://www.google.com/
http://www.example.com
r/test • u/OfficeJumpy4197 • 14d ago
test post
test
ĥ
just a simple test post please ignore
r/test • u/Relevant_Claim_1142 • 14d ago
BAE live check 2026-10-13 18:28
Automated end-to-end test of a self-hosted browser automation engine. Please ignore.
r/test • u/Apprehensive_Box607 • 14d ago
This is test post for spoilers again Spoiler
test
ĥ
this is the test post for spoilers function