├── .gitignore ├── .gitmodules ├── LICENSE.md ├── README.md ├── composer.json ├── composer.lock ├── inc ├── anti-bot.php ├── api.php ├── bans.php ├── cache.php ├── config.php ├── database.php ├── display.php ├── events.php ├── filters.php ├── functions.php ├── image.php ├── instance-config.php ├── lib │ ├── geoip │ │ └── GeoIPv6.dat │ └── webm │ │ ├── README.md │ │ ├── ffmpeg.php │ │ ├── matroska-elements.txt │ │ ├── matroska.php │ │ ├── posthandler.php │ │ └── videodata.php ├── locale │ ├── .tx │ │ └── config │ ├── README.md │ ├── ca │ │ └── LC_MESSAGES │ │ │ ├── javascript.po │ │ │ └── tinyboard.po │ ├── cs_CZ │ │ └── LC_MESSAGES │ │ │ ├── javascript.js │ │ │ ├── javascript.po │ │ │ ├── tinyboard.mo │ │ │ └── tinyboard.po │ ├── da_DK │ │ └── LC_MESSAGES │ │ │ ├── javascript.js │ │ │ ├── javascript.po │ │ │ ├── tinyboard.mo │ │ │ └── tinyboard.po │ ├── de_DE │ │ └── LC_MESSAGES │ │ │ ├── javascript.js │ │ │ ├── javascript.po │ │ │ ├── tinyboard.mo │ │ │ └── tinyboard.po │ ├── en │ │ └── LC_MESSAGES │ │ │ ├── javascript.po │ │ │ └── tinyboard.po │ ├── en_AU │ │ └── LC_MESSAGES │ │ │ ├── javascript.js │ │ │ ├── javascript.po │ │ │ ├── tinyboard.mo │ │ │ └── tinyboard.po │ ├── en_NZ │ │ └── LC_MESSAGES │ │ │ ├── javascript.js │ │ │ ├── javascript.po │ │ │ ├── tinyboard.mo │ │ │ └── tinyboard.po │ ├── eo │ │ └── LC_MESSAGES │ │ │ ├── javascript.js │ │ │ ├── javascript.po │ │ │ ├── tinyboard.mo │ │ │ └── tinyboard.po │ ├── es_ES │ │ └── LC_MESSAGES │ │ │ ├── javascript.js │ │ │ ├── javascript.po │ │ │ ├── tinyboard.mo │ │ │ └── tinyboard.po │ ├── es_MX │ │ └── LC_MESSAGES │ │ │ ├── javascript.js │ │ │ ├── javascript.po │ │ │ ├── tinyboard.mo │ │ │ └── tinyboard.po │ ├── fi_FI │ │ └── LC_MESSAGES │ │ │ ├── javascript.js │ │ │ ├── javascript.po │ │ │ ├── tinyboard.mo │ │ │ └── tinyboard.po │ ├── fr_FR │ │ └── LC_MESSAGES │ │ │ ├── javascript.js │ │ │ ├── javascript.po │ │ │ ├── tinyboard.mo │ │ │ └── tinyboard.po │ ├── he_IL │ │ └── LC_MESSAGES │ │ │ ├── javascript.js │ │ │ ├── javascript.po │ │ │ ├── tinyboard.mo │ │ │ └── tinyboard.po │ ├── hu_HU │ │ └── LC_MESSAGES │ │ │ ├── javascript.js │ │ │ ├── javascript.po │ │ │ ├── tinyboard.mo │ │ │ └── tinyboard.po │ ├── it_IT │ │ └── LC_MESSAGES │ │ │ ├── javascript.js │ │ │ ├── javascript.po │ │ │ ├── tinyboard.mo │ │ │ └── tinyboard.po │ ├── ja_JP │ │ └── LC_MESSAGES │ │ │ ├── javascript.js │ │ │ ├── javascript.po │ │ │ ├── tinyboard.mo │ │ │ └── tinyboard.po │ ├── jbo │ │ └── LC_MESSAGES │ │ │ ├── javascript.po │ │ │ └── tinyboard.po │ ├── lt_LT │ │ └── LC_MESSAGES │ │ │ ├── javascript.js │ │ │ ├── javascript.po │ │ │ ├── tinyboard.mo │ │ │ └── tinyboard.po │ ├── lv_LV │ │ └── LC_MESSAGES │ │ │ ├── javascript.js │ │ │ ├── javascript.po │ │ │ ├── tinyboard.mo │ │ │ └── tinyboard.po │ ├── nb_NO │ │ └── LC_MESSAGES │ │ │ ├── javascript.js │ │ │ ├── javascript.po │ │ │ ├── tinyboard.mo │ │ │ └── tinyboard.po │ ├── nl_NL │ │ └── LC_MESSAGES │ │ │ ├── javascript.js │ │ │ ├── javascript.po │ │ │ ├── tinyboard.mo │ │ │ └── tinyboard.po │ ├── pl_PL │ │ └── LC_MESSAGES │ │ │ ├── javascript.js │ │ │ ├── javascript.po │ │ │ ├── tinyboard.mo │ │ │ └── tinyboard.po │ ├── pt_BR │ │ └── LC_MESSAGES │ │ │ ├── javascript.js │ │ │ ├── javascript.po │ │ │ ├── tinyboard.mo │ │ │ └── tinyboard.po │ ├── pt_PT │ │ └── LC_MESSAGES │ │ │ ├── javascript.js │ │ │ ├── javascript.po │ │ │ ├── tinyboard.mo │ │ │ └── tinyboard.po │ ├── ru_RU │ │ └── LC_MESSAGES │ │ │ ├── javascript.js │ │ │ ├── javascript.po │ │ │ ├── tinyboard.mo │ │ │ └── tinyboard.po │ ├── sk_SK │ │ └── LC_MESSAGES │ │ │ ├── javascript.js │ │ │ ├── javascript.po │ │ │ ├── tinyboard.mo │ │ │ └── tinyboard.po │ ├── sv_SE │ │ └── LC_MESSAGES │ │ │ ├── javascript.js │ │ │ ├── javascript.po │ │ │ ├── tinyboard.mo │ │ │ └── tinyboard.po │ ├── tr_TR │ │ └── LC_MESSAGES │ │ │ ├── javascript.js │ │ │ ├── javascript.po │ │ │ ├── tinyboard.mo │ │ │ └── tinyboard.po │ ├── uk_UA │ │ └── LC_MESSAGES │ │ │ ├── javascript.po │ │ │ ├── tinyboard.mo │ │ │ └── tinyboard.po │ ├── zh_CN │ │ └── LC_MESSAGES │ │ │ ├── javascript.js │ │ │ ├── javascript.po │ │ │ ├── tinyboard.mo │ │ │ └── tinyboard.po │ └── zh_TW │ │ └── LC_MESSAGES │ │ ├── javascript.js │ │ ├── javascript.po │ │ ├── tinyboard.mo │ │ └── tinyboard.po ├── mod │ ├── auth.php │ ├── config-editor.php │ └── pages.php ├── remote.php └── template.php ├── install.php ├── install.sql ├── js ├── ajax-post-controls.js ├── ajax.js ├── auto-reload.js ├── auto-scroll.js ├── catalog-link.js ├── catalog-search.js ├── catalog.js ├── comment-toolbar.js ├── compact-boardlist.js ├── download-original.js ├── expand-all-images.js ├── expand-too-long.js ├── expand-video.js ├── expand.js ├── favorites.js ├── file-selector.js ├── fix-report-delete-submit.js ├── forced-anon.js ├── gallery-view.js ├── hide-images.js ├── hide-post-form.js ├── hide-threads.js ├── id_colors.js ├── id_highlighter.js ├── image-hover.js ├── infinite-scroll.js ├── inline-expanding-filename.js ├── inline-expanding.js ├── inline.js ├── jquery-migrate-3.0.0.min.js ├── jquery-ui.custom.min.js ├── jquery.min.js ├── jquery.mixitup.min.js ├── jquery.tablesorter.min.js ├── live-index.js ├── local-time.js ├── mobile-style.js ├── multi-image.js ├── no-animated-gif.js ├── options.js ├── options │ ├── fav.js │ ├── general.js │ ├── user-css.js │ └── user-js.js ├── own-board.js ├── post-filter.js ├── post-hover.js ├── post-menu.js ├── quick-post-controls.js ├── quick-reply.js ├── quote-selection.js ├── save-user_flag.js ├── settings.js ├── show-backlinks.js ├── show-op.js ├── show-own-posts.js ├── smartphone-spoiler.js ├── strftime.min.js ├── style-select.js ├── thread-stats.js ├── thread-watcher.js ├── threadscroll.js ├── titlebar-notifications.js ├── toggle-images.js ├── toggle-locked-threads.js ├── treeview.js ├── upload-selection.js ├── watch.js ├── webm-settings.js ├── webm │ └── playersettings.js ├── wpaint.js └── youtube.js ├── mod.php ├── player.php ├── post.php ├── search.php ├── static ├── blank.gif ├── collapse.gif ├── d10.svg ├── deleted.png ├── file.png ├── flags │ ├── a1.png │ ├── a2.png │ ├── ac.png │ ├── ad.png │ ├── ae.png │ ├── af.png │ ├── ag.png │ ├── ai.png │ ├── al.png │ ├── am.png │ ├── an.png │ ├── ao.png │ ├── ap.png │ ├── aq.png │ ├── ar.png │ ├── as.png │ ├── at.png │ ├── au.png │ ├── aw.png │ ├── ax.png │ ├── az.png │ ├── ba.png │ ├── bb.png │ ├── bd.png │ ├── be.png │ ├── bf.png │ ├── bg.png │ ├── bh.png │ ├── bi.png │ ├── bj.png │ ├── bl.png │ ├── bm.png │ ├── bn.png │ ├── bo.png │ ├── bq.png │ ├── br.png │ ├── bs.png │ ├── bt.png │ ├── bu.png │ ├── bv.png │ ├── bw.png │ ├── by.png │ ├── bz.png │ ├── ca.png │ ├── cat.png │ ├── cc.png │ ├── cd.png │ ├── cf.png │ ├── cg.png │ ├── ch.png │ ├── ci.png │ ├── ck.png │ ├── cl.png │ ├── cm.png │ ├── cn.png │ ├── co.png │ ├── cp.png │ ├── cr.png │ ├── cs.png │ ├── cu.png │ ├── cv.png │ ├── cw.png │ ├── cx.png │ ├── cy.png │ ├── cz.png │ ├── de.png │ ├── dg.png │ ├── dj.png │ ├── dk.png │ ├── dm.png │ ├── do.png │ ├── dz.png │ ├── ea.png │ ├── ec.png │ ├── ee.png │ ├── eg.png │ ├── eh.png │ ├── er.png │ ├── es.png │ ├── et.png │ ├── eu.png │ ├── fi.png │ ├── fj.png │ ├── fk.png │ ├── flags.css │ ├── flags.png │ ├── fm.png │ ├── fo.png │ ├── fr.png │ ├── fx.png │ ├── ga.png │ ├── gb.png │ ├── gd.png │ ├── ge.png │ ├── gf.png │ ├── gg.png │ ├── gh.png │ ├── gi.png │ ├── gl.png │ ├── gm.png │ ├── gn.png │ ├── gp.png │ ├── gq.png │ ├── gr.png │ ├── gs.png │ ├── gt.png │ ├── gu.png │ ├── gw.png │ ├── gy.png │ ├── hk.png │ ├── hm.png │ ├── hn.png │ ├── hr.png │ ├── ht.png │ ├── hu.png │ ├── ic.png │ ├── id.png │ ├── ie.png │ ├── il.png │ ├── im.png │ ├── in.png │ ├── io.png │ ├── iq.png │ ├── ir.png │ ├── is.png │ ├── it.png │ ├── je.png │ ├── jm.png │ ├── jo.png │ ├── jp.png │ ├── ke.png │ ├── kg.png │ ├── kh.png │ ├── ki.png │ ├── km.png │ ├── kn.png │ ├── kp.png │ ├── kr.png │ ├── kw.png │ ├── ky.png │ ├── kz.png │ ├── la.png │ ├── lb.png │ ├── lc.png │ ├── li.png │ ├── lk.png │ ├── lr.png │ ├── ls.png │ ├── lt.png │ ├── lu.png │ ├── lv.png │ ├── ly.png │ ├── ma.png │ ├── mc.png │ ├── md.png │ ├── me.png │ ├── mf.png │ ├── mg.png │ ├── mh.png │ ├── mk.png │ ├── ml.png │ ├── mm.png │ ├── mn.png │ ├── mo.png │ ├── mp.png │ ├── mq.png │ ├── mr.png │ ├── ms.png │ ├── mt.png │ ├── mu.png │ ├── mv.png │ ├── mw.png │ ├── mx.png │ ├── my.png │ ├── mz.png │ ├── na.png │ ├── nc.png │ ├── ne.png │ ├── nf.png │ ├── ng.png │ ├── ni.png │ ├── nl.png │ ├── no.png │ ├── np.png │ ├── nr.png │ ├── nt.png │ ├── nu.png │ ├── nz.png │ ├── o1.png │ ├── om.png │ ├── pa.png │ ├── pe.png │ ├── pf.png │ ├── pg.png │ ├── ph.png │ ├── pk.png │ ├── pl.png │ ├── pm.png │ ├── pn.png │ ├── pr.png │ ├── ps.png │ ├── pt.png │ ├── pw.png │ ├── py.png │ ├── qa.png │ ├── re.png │ ├── ro.png │ ├── rs.png │ ├── ru.png │ ├── rw.png │ ├── sa.png │ ├── sb.png │ ├── sc.png │ ├── sd.png │ ├── se.png │ ├── sf.png │ ├── sg.png │ ├── sh.png │ ├── si.png │ ├── sj.png │ ├── sk.png │ ├── sl.png │ ├── sm.png │ ├── sn.png │ ├── so.png │ ├── sr.png │ ├── ss.png │ ├── st.png │ ├── su.png │ ├── sv.png │ ├── sx.png │ ├── sy.png │ ├── sz.png │ ├── ta.png │ ├── tc.png │ ├── td.png │ ├── tf.png │ ├── tg.png │ ├── th.png │ ├── ti.png │ ├── tj.png │ ├── tk.png │ ├── tl.png │ ├── tm.png │ ├── tn.png │ ├── to.png │ ├── tp.png │ ├── tr.png │ ├── tt.png │ ├── tv.png │ ├── tw.png │ ├── tz.png │ ├── ua.png │ ├── ug.png │ ├── uk.png │ ├── um.png │ ├── us.png │ ├── uy.png │ ├── uz.png │ ├── va.png │ ├── vc.png │ ├── ve.png │ ├── vg.png │ ├── vi.png │ ├── vn.png │ ├── vu.png │ ├── wf.png │ ├── ws.png │ ├── xx.png │ ├── ye.png │ ├── yt.png │ ├── yu.png │ ├── za.png │ ├── zm.png │ ├── zr.png │ └── zw.png ├── locked.gif ├── spoiler.png ├── video.png ├── warning.png └── zip.png ├── stylesheets ├── burichan.css ├── caffe.css ├── confraria.css ├── dark.css ├── dark_roach.css ├── favela.css ├── ferus.css ├── font-awesome │ ├── css │ │ ├── font-awesome.css │ │ └── font-awesome.min.css │ ├── fonts │ │ ├── FontAwesome.otf │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.svg │ │ ├── fontawesome-webfont.ttf │ │ ├── fontawesome-webfont.woff │ │ └── fontawesome-webfont.woff2 │ ├── less │ │ ├── animated.less │ │ ├── bordered-pulled.less │ │ ├── core.less │ │ ├── fixed-width.less │ │ ├── font-awesome.less │ │ ├── icons.less │ │ ├── larger.less │ │ ├── list.less │ │ ├── mixins.less │ │ ├── path.less │ │ ├── rotated-flipped.less │ │ ├── screen-reader.less │ │ ├── spinning.less │ │ ├── stacked.less │ │ └── variables.less │ └── scss │ │ ├── _animated.scss │ │ ├── _bordered-pulled.scss │ │ ├── _core.scss │ │ ├── _fixed-width.scss │ │ ├── _icons.scss │ │ ├── _larger.scss │ │ ├── _list.scss │ │ ├── _mixins.scss │ │ ├── _path.scss │ │ ├── _rotated-flipped.scss │ │ ├── _screen-reader.scss │ │ ├── _spinning.scss │ │ ├── _stacked.scss │ │ ├── _variables.scss │ │ └── font-awesome.scss ├── futaba+vichan.css ├── futaba-light.css ├── futaba.css ├── gentoochan.css ├── greendark.css ├── img │ ├── arrow.png │ ├── bghead.png │ ├── caffe_bg.png │ ├── caffe_reply.png │ ├── caffe_reply2.png │ ├── confraria_bg.png │ ├── confraria_foot.png │ ├── confraria_hatstand.png │ ├── dark_roach_bg.png │ ├── dark_roach_top.png │ ├── fade-blue.png │ ├── fade-miku.png │ ├── fade-yellow.png │ ├── fade-yotsuba.png │ ├── jungle_bg.png │ ├── jungle_bg1.png │ ├── jungle_td.png │ ├── jungle_td2.png │ ├── jungle_td_dark.png │ ├── luna_bg1.png │ ├── luna_bg2.png │ ├── rect820.png │ ├── rect821.png │ ├── roachtlo.png │ ├── rugby_background.jpg │ ├── rugby_background2.jpg │ ├── rugby_rugbysta.png │ ├── stripes_bg.png │ ├── stripes_submit.png │ ├── stripes_textarea.png │ ├── szalet_bg.png │ ├── szalet_hr.png │ ├── testorange_f_bg.gif │ ├── testorange_testo.png │ └── testorange_textarea_bg.gif ├── jquery-ui │ ├── core.css │ ├── images │ │ ├── animated-overlay.gif │ │ ├── ui-bg_flat_0_aaaaaa_40x100.png │ │ ├── ui-bg_flat_75_ffffff_40x100.png │ │ ├── ui-bg_glass_55_fbf9ee_1x400.png │ │ ├── ui-bg_glass_65_ffffff_1x400.png │ │ ├── ui-bg_glass_75_dadada_1x400.png │ │ ├── ui-bg_glass_75_e6e6e6_1x400.png │ │ ├── ui-bg_glass_95_fef1ec_1x400.png │ │ ├── ui-bg_highlight-soft_75_cccccc_1x100.png │ │ ├── ui-icons_222222_256x240.png │ │ ├── ui-icons_2e83ff_256x240.png │ │ ├── ui-icons_454545_256x240.png │ │ ├── ui-icons_888888_256x240.png │ │ └── ui-icons_cd0a0a_256x240.png │ ├── resizable.css │ ├── selectable.css │ └── theme.css ├── jungle.css ├── luna.css ├── miku.css ├── nigrachan.css ├── northboard_cb.css ├── notsuba.css ├── novo_jungle.css ├── photon.css ├── piwnichan.css ├── ricechan.css ├── roach.css ├── rugby.css ├── sharp.css ├── stripes.css ├── style.css ├── szalet.css ├── terminal2.css ├── testorange.css ├── v8ch.css ├── wasabi.css ├── webm │ └── playerstyle.css └── yotsuba.css ├── templates ├── attention_bar.html ├── banned.html ├── boardlist.html ├── error.html ├── fileboard.html ├── generic_page.html ├── header.html ├── index.html ├── installer │ ├── check-requirements.html │ └── config.html ├── main.js ├── mod │ ├── ban_appeals.html │ ├── ban_form.html │ ├── ban_list.html │ ├── board.html │ ├── config-editor-php.html │ ├── config-editor.html │ ├── confirm.html │ ├── dashboard.html │ ├── debug │ │ ├── antispam.html │ │ ├── apc.html │ │ ├── recent_posts.html │ │ └── sql.html │ ├── edit_page.html │ ├── edit_post_form.html │ ├── inbox.html │ ├── log.html │ ├── login.html │ ├── move.html │ ├── move_reply.html │ ├── new_pm.html │ ├── news.html │ ├── noticeboard.html │ ├── pages.html │ ├── pm.html │ ├── rebuild.html │ ├── rebuilt.html │ ├── recent_posts.html │ ├── report.html │ ├── reports.html │ ├── search_form.html │ ├── search_results.html │ ├── theme_config.html │ ├── theme_installed.html │ ├── theme_rebuilt.html │ ├── themes.html │ ├── user.html │ ├── users.html │ └── view_ip.html ├── page.html ├── post │ ├── file_controls.html │ ├── fileinfo.html │ ├── flag.html │ ├── image.html │ ├── image_identification.html │ ├── ip.html │ ├── name.html │ ├── post_controls.html │ ├── poster_id.html │ ├── subject.html │ └── time.html ├── post_form.html ├── post_reply.html ├── post_thread.html ├── post_thread_fileboard.html ├── posts.sql ├── report_delete.html ├── search_form.html ├── themes │ ├── basic │ │ ├── index.html │ │ ├── info.php │ │ ├── theme.php │ │ └── thumb.png │ ├── catalog │ │ ├── catalog.html │ │ ├── index.rss │ │ ├── info.php │ │ ├── theme.php │ │ └── thumb.png │ ├── categories │ │ ├── frames.html │ │ ├── info.php │ │ ├── news.html │ │ ├── sidebar.html │ │ ├── theme.php │ │ └── thumb.png │ ├── frameset │ │ ├── frames.html │ │ ├── info.php │ │ ├── news.html │ │ ├── sidebar.html │ │ ├── theme.php │ │ └── thumb.png │ ├── public_banlist │ │ ├── info.php │ │ └── theme.php │ ├── recent │ │ ├── info.php │ │ ├── recent.css │ │ ├── recent.html │ │ ├── recent_dark.css │ │ ├── recent_fs.css │ │ ├── theme.php │ │ └── thumb.png │ ├── rss │ │ ├── info.php │ │ ├── rss.xml │ │ └── theme.php │ ├── sitemap │ │ ├── info.php │ │ ├── sitemap.xml │ │ ├── theme.php │ │ └── thumb.png │ └── ukko │ │ ├── info.php │ │ ├── theme.php │ │ ├── thumb.png │ │ └── ukko.js └── thread.html ├── tmp ├── cache │ └── .gitkeep └── tesseract │ └── .gitkeep └── tools ├── benchmark.php ├── delete-stray-images.php ├── i18n_compile.php ├── i18n_extract.php ├── i18n_update.sh ├── import_rules.php ├── inc ├── cli.php └── lib │ └── jsgettext │ ├── JSParser.php │ ├── PoeditParser.php │ ├── PoeditString.php │ ├── jsgettext.php │ └── po2json.php ├── rebuild.php ├── rebuild2.php ├── recount-bumps.php └── stats.php /.gitignore: -------------------------------------------------------------------------------- 1 | # static html and json 2 | /*/*.html 3 | /*/*.json 4 | /*/res 5 | /*/src 6 | /*/thumb 7 | /*/config.php 8 | /*.html 9 | 10 | # include some files though 11 | !/templates/*.html 12 | !/inc/config.php 13 | 14 | # instance-config 15 | /inc/instance-config.php 16 | 17 | # .installed 18 | /.installed 19 | 20 | # script file 21 | /main.js 22 | 23 | # templates cache 24 | /templates/cache 25 | 26 | # other stuff 27 | .DS_Store 28 | .htaccess 29 | thumbs.db 30 | Icon? 31 | Thumbs.db 32 | *.patch 33 | *.diff 34 | *.rej 35 | *.orig 36 | *~ 37 | 38 | # tmp filesystem 39 | /tmp/cache/* 40 | /tmp/locks/* 41 | !/tmp/cache/.gitkeep 42 | !/tmp/locks/.gitkeep 43 | 44 | # site-specific media 45 | favicon.ico 46 | /static/spoiler.png 47 | 48 | # dependencies directory 49 | /vendor/ 50 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "js/wPaint"] 2 | path = js/wPaint 3 | url = https://github.com/vichan-devel/wPaint.git 4 | branch = master 5 | [submodule "templates/themes/awsumchan"] 6 | path = templates/themes/awsumchan 7 | url = https://github.com/AwsumChan/AwsumChan-Theme.git 8 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "circlepuller/tinyboard", 3 | "description": "Tinyboard is a light-weight, fast, highly configurable and user-friendly imageboard software package released under a non-restrictive open-source license. It is written in PHP and has few dependencies.", 4 | "type": "project", 5 | "config": { 6 | "platform": { 7 | "php": "7.2.9" 8 | } 9 | }, 10 | "require": { 11 | "ext-pdo": "*", 12 | "ext-gd": "*", 13 | "gettext/gettext": "^4.4", 14 | "twig/twig": "^2.9", 15 | "twig/extensions": "^1.5", 16 | "geoip/geoip": "^1.16", 17 | "mrclay/minify": "^3.0", 18 | "awsumchan/ip": "^1.1", 19 | "erusev/parsedown": "^1.7" 20 | }, 21 | "license": "MIT", 22 | "authors": [ 23 | { 24 | "name": "Daniel Saunders", 25 | "email": "dsaunders@dansaunders.me" 26 | } 27 | ], 28 | "suggest": { 29 | "ext-imagick": "Allows the use of ImageMagick for image handling", 30 | "ext-openssl": "Allows for enhanced security features through OpenSSL", 31 | "ext-apcu": "Allows the use of APCu for cache storage", 32 | "ext-redis": "Allows the use of Redis for cache storage", 33 | "ext-memcached": "Allows the use of Memcached for cache storage", 34 | "ext-xcache": "Allows the use of XCache for cache storage" 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /inc/events.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /inc/lib/geoip/GeoIPv6.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/inc/lib/geoip/GeoIPv6.dat -------------------------------------------------------------------------------- /inc/locale/.tx/config: -------------------------------------------------------------------------------- 1 | [main] 2 | host = https://www.transifex.com 3 | 4 | [tinyboard-vichan-devel.javascriptpo] 5 | file_filter = /LC_MESSAGES/javascript.po 6 | source_lang = en 7 | type = PO 8 | 9 | [tinyboard-vichan-devel.tinyboardpo] 10 | file_filter = /LC_MESSAGES/tinyboard.po 11 | source_lang = en 12 | type = PO 13 | 14 | -------------------------------------------------------------------------------- /inc/locale/README.md: -------------------------------------------------------------------------------- 1 | Please use this interface to submit new translations: 2 | 3 | https://www.transifex.com/projects/p/tinyboard-vichan-devel 4 | 5 | They will be pulled over time. By the way, copying over those directories 6 | to a vanilla Tinyboard installation will instantly work. 7 | -------------------------------------------------------------------------------- /inc/locale/cs_CZ/LC_MESSAGES/javascript.js: -------------------------------------------------------------------------------- 1 | l10n = {"Style: ":"Styl: ","File":"Soubor","hide":"skr\u00fdt","show":"zobrazit","Show locked threads":"Zobrazit zam\u010den\u00e1 vl\u00e1kna","Hide locked threads":"Skr\u00fdt zam\u010den\u00e1 vl\u00e1kna","hidden":"skryt\u00e9","Show images":"Zobrazit obr\u00e1zky","Hide images":"Skr\u00fdt obr\u00e1zky","Password":"Heslo","Delete file only":"Smazat pouze soubor","Delete":"Smazat","Reason":"D\u016fvod","Report":"Nahl\u00e1sit","Click reply to view.":"Klikni na odpov\u011b\u010f pro zobrazen\u00ed.","Click to expand":"Klikni pro rozbalen\u00ed","Hide expanded replies":"Skr\u00fdt rozbalen\u00e9 odpov\u011bdi","Forced anonymity":"Vynucen\u00e1 anonymita","enabled":"zapnuto","disabled":"vypnuto","Sun":"Ne","Mon":"Po","Tue":"\u00dat","Wed":"St","Thu":"\u010ct","Fri":"P\u00e1","Sat":"So","Submit":"Odeslat","Quick reply":"Rychl\u00e1 odpov\u011b\u010f","Posting mode: Replying to >>{0}<\/small>":"Re\u017eim odpov\u011bdi: Odpov\u00edd\u00e1\u0161 na >>{0}<\/small>","Return":"N\u00e1vrat","Hello!":"Nazdar!","{0} users":"{0} u\u017eivatel","(hide threads from this board)":"(skr\u00fdt vl\u00e1kna z tohoto boardu)","(show threads from this board)":"(zobrazit vl\u00e1kna z tohoto boardu)","No more threads to display":"Nejsou \u017e\u00e1dn\u00e1 dal\u0161\u00ed vl\u00e1kna k zobrazen\u00ed","Loading...":"Na\u010d\u00edt\u00e1m..."}; -------------------------------------------------------------------------------- /inc/locale/cs_CZ/LC_MESSAGES/tinyboard.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/inc/locale/cs_CZ/LC_MESSAGES/tinyboard.mo -------------------------------------------------------------------------------- /inc/locale/da_DK/LC_MESSAGES/tinyboard.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/inc/locale/da_DK/LC_MESSAGES/tinyboard.mo -------------------------------------------------------------------------------- /inc/locale/de_DE/LC_MESSAGES/tinyboard.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/inc/locale/de_DE/LC_MESSAGES/tinyboard.mo -------------------------------------------------------------------------------- /inc/locale/en_AU/LC_MESSAGES/javascript.js: -------------------------------------------------------------------------------- 1 | l10n = []; -------------------------------------------------------------------------------- /inc/locale/en_AU/LC_MESSAGES/tinyboard.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/inc/locale/en_AU/LC_MESSAGES/tinyboard.mo -------------------------------------------------------------------------------- /inc/locale/en_NZ/LC_MESSAGES/tinyboard.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/inc/locale/en_NZ/LC_MESSAGES/tinyboard.mo -------------------------------------------------------------------------------- /inc/locale/eo/LC_MESSAGES/tinyboard.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/inc/locale/eo/LC_MESSAGES/tinyboard.mo -------------------------------------------------------------------------------- /inc/locale/es_ES/LC_MESSAGES/tinyboard.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/inc/locale/es_ES/LC_MESSAGES/tinyboard.mo -------------------------------------------------------------------------------- /inc/locale/es_MX/LC_MESSAGES/tinyboard.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/inc/locale/es_MX/LC_MESSAGES/tinyboard.mo -------------------------------------------------------------------------------- /inc/locale/fi_FI/LC_MESSAGES/tinyboard.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/inc/locale/fi_FI/LC_MESSAGES/tinyboard.mo -------------------------------------------------------------------------------- /inc/locale/fr_FR/LC_MESSAGES/tinyboard.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/inc/locale/fr_FR/LC_MESSAGES/tinyboard.mo -------------------------------------------------------------------------------- /inc/locale/he_IL/LC_MESSAGES/tinyboard.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/inc/locale/he_IL/LC_MESSAGES/tinyboard.mo -------------------------------------------------------------------------------- /inc/locale/hu_HU/LC_MESSAGES/tinyboard.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/inc/locale/hu_HU/LC_MESSAGES/tinyboard.mo -------------------------------------------------------------------------------- /inc/locale/it_IT/LC_MESSAGES/tinyboard.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/inc/locale/it_IT/LC_MESSAGES/tinyboard.mo -------------------------------------------------------------------------------- /inc/locale/ja_JP/LC_MESSAGES/tinyboard.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/inc/locale/ja_JP/LC_MESSAGES/tinyboard.mo -------------------------------------------------------------------------------- /inc/locale/lt_LT/LC_MESSAGES/tinyboard.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/inc/locale/lt_LT/LC_MESSAGES/tinyboard.mo -------------------------------------------------------------------------------- /inc/locale/lv_LV/LC_MESSAGES/tinyboard.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/inc/locale/lv_LV/LC_MESSAGES/tinyboard.mo -------------------------------------------------------------------------------- /inc/locale/nb_NO/LC_MESSAGES/javascript.js: -------------------------------------------------------------------------------- 1 | l10n = {"Style: ":"Stil:","File":"Fil","hide":"skjul","show":"vis","Show locked threads":"Vis l\u00e5ste tr\u00e5der","Hide locked threads":"Skjul l\u00e5ste tr\u00e5der","URL":"URL","Select":"Velg","hidden":"skjult","Show images":"Vis bilder","Hide images":"Skjul bilder","Password":"Passord","Delete":"Slett","Reason":"Grunn","Click reply to view.":"Klikk for \u00e5 se.","Click to expand":"Klikk for \u00e5 utvide","Save":"Lagre","Sun":"S\u00f8n","Mon":"Man","Tue":"Tirs","Wed":"Ons","Thu":"Tors","Fri":"Fre","Sat":"L\u00f8r","Catalog":"Katalog","Expand all images":"Utvid alle bilder","Hello!":"Hallo!","Loading...":"Laster...","Something went wrong... An unknown error occured!":"Noe gikk galt... En ukjent feil oppstod!","Sunday":"S\u00f8ndag","Monday":"Mandag","Tuesday":"Tirsdag","Wednesday":"Onsdag","Thursday":"Torsdag","Friday":"Fredag","Saturday":"L\u00f8rdag","January":"Januar","February":"Februar","March":"Mars","April":"April","May":"Mai","June":"Juni","July":"Juli","August":"August","September":"September","October":"Oktober","November":"November","December":"Desember","Jan":"Jan","Feb":"Feb","Mar":"Mar","Apr":"Apr","Jun":"Juni","Jul":"Juli","Aug":"Aug","Sep":"Sep","Oct":"Okt","Nov":"Nov","Dec":"Des","AM":"AM","PM":"PM","am":"am","pm":"pm","Your browser does not support HTML5 video.":"Din nettleser st\u00f8tter ikke HTML5 video","[play once]":"[spill en gang]","[loop]":"[gjenta]","WebM Settings":"WebM Instillinger","WebM":"WebM","Options":"Instillinger","Import":"Importer","Erase":"Slett"}; -------------------------------------------------------------------------------- /inc/locale/nb_NO/LC_MESSAGES/tinyboard.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/inc/locale/nb_NO/LC_MESSAGES/tinyboard.mo -------------------------------------------------------------------------------- /inc/locale/nl_NL/LC_MESSAGES/tinyboard.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/inc/locale/nl_NL/LC_MESSAGES/tinyboard.mo -------------------------------------------------------------------------------- /inc/locale/pl_PL/LC_MESSAGES/tinyboard.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/inc/locale/pl_PL/LC_MESSAGES/tinyboard.mo -------------------------------------------------------------------------------- /inc/locale/pt_BR/LC_MESSAGES/tinyboard.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/inc/locale/pt_BR/LC_MESSAGES/tinyboard.mo -------------------------------------------------------------------------------- /inc/locale/pt_PT/LC_MESSAGES/tinyboard.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/inc/locale/pt_PT/LC_MESSAGES/tinyboard.mo -------------------------------------------------------------------------------- /inc/locale/ru_RU/LC_MESSAGES/tinyboard.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/inc/locale/ru_RU/LC_MESSAGES/tinyboard.mo -------------------------------------------------------------------------------- /inc/locale/sk_SK/LC_MESSAGES/tinyboard.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/inc/locale/sk_SK/LC_MESSAGES/tinyboard.mo -------------------------------------------------------------------------------- /inc/locale/sv_SE/LC_MESSAGES/tinyboard.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/inc/locale/sv_SE/LC_MESSAGES/tinyboard.mo -------------------------------------------------------------------------------- /inc/locale/tr_TR/LC_MESSAGES/tinyboard.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/inc/locale/tr_TR/LC_MESSAGES/tinyboard.mo -------------------------------------------------------------------------------- /inc/locale/uk_UA/LC_MESSAGES/tinyboard.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/inc/locale/uk_UA/LC_MESSAGES/tinyboard.mo -------------------------------------------------------------------------------- /inc/locale/zh_CN/LC_MESSAGES/tinyboard.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/inc/locale/zh_CN/LC_MESSAGES/tinyboard.mo -------------------------------------------------------------------------------- /inc/locale/zh_TW/LC_MESSAGES/tinyboard.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/inc/locale/zh_TW/LC_MESSAGES/tinyboard.mo -------------------------------------------------------------------------------- /js/auto-scroll.js: -------------------------------------------------------------------------------- 1 | $('document').ready(function () { 2 | var autoScroll = localStorage['autoScroll'] ? true : false; 3 | if (window.Options && Options.get_tab('general')){ 4 | Options.extend_tab('general',''); 5 | $('#autoScroll').find('input').prop('checked', autoScroll); 6 | } 7 | $('#autoScroll').on('change', function() { 8 | if(autoScroll) { 9 | delete localStorage.autoScroll; 10 | } else { 11 | localStorage.autoScroll = true; 12 | } 13 | autoScroll =! autoScroll 14 | if(active_page == 'thread') 15 | $('input.auto-scroll').prop('checked', autoScroll); 16 | }); 17 | if (active_page == 'thread') { 18 | $('span[id="updater"]').children('a').after(' ( Scroll to New posts)'); 19 | $('input.auto-scroll').prop('checked', autoScroll); 20 | $(document).on('new_post', function (e, post) { 21 | if ($('input.auto-scroll').prop('checked')) 22 | { 23 | scrollTo(0, $(post).offset().top - window.innerHeight + $(post).outerHeight(true)); 24 | } 25 | }); 26 | } 27 | }); 28 | -------------------------------------------------------------------------------- /js/catalog.js: -------------------------------------------------------------------------------- 1 | if (active_page == 'catalog') $(function(){ 2 | if (localStorage.catalog !== undefined) { 3 | var catalog = JSON.parse(localStorage.catalog); 4 | } else { 5 | var catalog = {}; 6 | localStorage.catalog = JSON.stringify(catalog); 7 | } 8 | 9 | $("#sort_by").change(function(){ 10 | var value = this.value; 11 | $('#Grid').mixItUp('sort', (value == "random" ? value : "sticky:desc " + value)); 12 | catalog.sort_by = value; 13 | localStorage.catalog = JSON.stringify(catalog); 14 | }); 15 | 16 | $("#image_size").change(function(){ 17 | var value = this.value, old; 18 | $(".grid-li").removeClass("grid-size-vsmall"); 19 | $(".grid-li").removeClass("grid-size-small"); 20 | $(".grid-li").removeClass("grid-size-large"); 21 | $(".grid-li").addClass("grid-size-"+value); 22 | catalog.image_size = value; 23 | localStorage.catalog = JSON.stringify(catalog); 24 | }); 25 | 26 | $('#Grid').mixItUp({ 27 | animation: { 28 | enable: false 29 | } 30 | }); 31 | 32 | if (catalog.sort_by !== undefined) { 33 | $('#sort_by').val(catalog.sort_by).trigger('change'); 34 | } 35 | if (catalog.image_size !== undefined) { 36 | $('#image_size').val(catalog.image_size).trigger('change'); 37 | } 38 | 39 | $('div.thread').on('click', function(e) { 40 | if ($(this).css('overflow-y') === 'hidden') { 41 | $(this).css('overflow-y', 'auto'); 42 | $(this).css('width', '100%'); 43 | } else { 44 | $(this).css('overflow-y', 'hidden'); 45 | $(this).css('width', 'auto'); 46 | } 47 | }); 48 | }); 49 | -------------------------------------------------------------------------------- /js/download-original.js: -------------------------------------------------------------------------------- 1 | /* 2 | * download-original.js 3 | * https://github.com/savetheinternet/Tinyboard/blob/master/js/download-original.js 4 | * 5 | * Makes image filenames clickable, allowing users to download and save files as their original filename. 6 | * Only works in newer browsers. http://caniuse.com/#feat=download 7 | * 8 | * Released under the MIT license 9 | * Copyright (c) 2012-2013 Michael Save 10 | * Copyright (c) 2013-2014 Marcin Łabanowski 11 | * 12 | * Usage: 13 | * $config['additional_javascript'][] = 'js/jquery.min.js'; 14 | * $config['additional_javascript'][] = 'js/download-original.js'; 15 | * 16 | */ 17 | 18 | onready(function(){ 19 | var do_original_filename = function() { 20 | var filename, truncated; 21 | if ($(this).attr('title')) { 22 | filename = $(this).attr('title'); 23 | truncated = true; 24 | } else { 25 | filename = $(this).text(); 26 | } 27 | 28 | $(this).replaceWith( 29 | $('') 30 | .attr('download', filename) 31 | .append($(this).contents()) 32 | .attr('href', $(this).parent().parent().find('a').attr('href')) 33 | .attr('title', _('Save as original filename') + (truncated ? ' (' + filename + ')' : '')) 34 | ); 35 | }; 36 | 37 | $('.postfilename').each(do_original_filename); 38 | 39 | $(document).on('new_post', function(e, post) { 40 | $(post).find('.postfilename').each(do_original_filename); 41 | }); 42 | }); 43 | -------------------------------------------------------------------------------- /js/expand-too-long.js: -------------------------------------------------------------------------------- 1 | /* 2 | * expand-too-long.js 3 | * https://github.com/vichan-devel/vichan/blob/master/js/expand-too-long.js 4 | * 5 | * Released under the MIT license 6 | * Copyright (c) 2013-2014 Marcin Łabanowski 7 | * 8 | * Usage: 9 | * $config['additional_javascript'][] = 'js/jquery.min.js'; 10 | * $config['additional_javascript'][] = 'js/expand-too-long.js'; 11 | * 12 | */ 13 | 14 | $(function() { 15 | var do_expand = function() { 16 | $(this).find('a').click(function(e) { 17 | e.preventDefault(); 18 | 19 | var url = $(this).attr('href'); 20 | var body = $(this).parents('.body'); 21 | 22 | $.ajax({ 23 | url: url, 24 | context: document.body, 25 | success: function(data) { 26 | var content = $(data).find('#'+url.split('#')[1]).parent().parent().find(".body").first().html(); 27 | 28 | body.html(content); 29 | } 30 | }); 31 | }); 32 | }; 33 | 34 | $('.toolong').each(do_expand); 35 | 36 | $(document).on("new_post", function(e, post) { 37 | $(post).find('.toolong').each(do_expand) 38 | }); 39 | }); 40 | -------------------------------------------------------------------------------- /js/hide-post-form.js: -------------------------------------------------------------------------------- 1 | /* 2 | * hide-post-form.js 3 | * https://github.com/Circlepuller/Tinyboard/blob/master/js/hide-post-form.js 4 | * 5 | * Released under the MIT license 6 | * Copyright (c) 2020 Daniel Saunders 7 | * 8 | * Usage: 9 | * $config['additional_javascript'][] = 'js/jquery.min.js'; 10 | * $config['additional_javascript'][] = 'js/hide-post-form.js'; 11 | * 12 | */ 13 | 14 | $(document).ready(() => { 15 | if (active_page !== 'index' && active_page !== 'thread') 16 | return; 17 | 18 | let form_el = $('form[name="post"]'); 19 | let form_msg = active_page === 'index' ? 'Start a New Thread' : 'Post a Reply'; 20 | 21 | form_el.hide(); 22 | form_el.after(`
[${_(form_msg)}]
`); 23 | $('div#show-post-form').click(() => { 24 | $('div#show-post-form').hide(); 25 | form_el.show(); 26 | }); 27 | }); -------------------------------------------------------------------------------- /js/id_highlighter.js: -------------------------------------------------------------------------------- 1 | if (active_page == 'thread' || active_page == 'index') { 2 | $(document).ready(function(){ 3 | function arrayRemove(a, v) { a.splice(a.indexOf(v) == -1 ? a.length : a.indexOf(v), 1); } 4 | 5 | var idshighlighted = []; 6 | 7 | function getPostsById(id){ 8 | return $(".poster_id").filter(function(i){ 9 | return $(this).text() == id; 10 | }); 11 | } 12 | 13 | function getMasterPosts(parents){ 14 | if(!parents.hasClass("post")) return; 15 | 16 | var toRet = []; 17 | 18 | $(parents).each(function(){ 19 | if($(this).hasClass("post")) 20 | toRet.push($(this)); 21 | }); 22 | 23 | return toRet; 24 | } 25 | 26 | var id_highlighter = function(){ 27 | var id = $(this).text(); 28 | 29 | if($.inArray(id, idshighlighted) !== -1){ 30 | arrayRemove(idshighlighted, id); 31 | 32 | $(getMasterPosts(getPostsById(id).parents())).each(function(i){ 33 | $(this).removeClass("highlighted"); 34 | }); 35 | }else{ 36 | idshighlighted.push(id); 37 | 38 | $(getMasterPosts(getPostsById(id).parents())).each(function(i){ 39 | $(this).addClass("highlighted"); 40 | }); 41 | } 42 | } 43 | 44 | $(".poster_id").on('click', id_highlighter); 45 | 46 | $(document).on('new_post', function(e, post) { 47 | $(post).find('.poster_id').on('click', id_highlighter); 48 | }); 49 | }); 50 | } 51 | -------------------------------------------------------------------------------- /js/inline-expanding-filename.js: -------------------------------------------------------------------------------- 1 | /* 2 | * inline-expanding-filename.js 3 | * Binds image filename link to expanding, to make kusaba x users somewhat more accustomed. 4 | * https://github.com/vichan-devel/Tinyboard/blob/master/js/inline-expanding.js 5 | * 6 | * Released under the MIT license 7 | * Copyright (c) 2012-2013 Marcin Łabanowski 8 | * 9 | * Usage: 10 | * $config['additional_javascript'][] = 'js/jquery.min.js'; 11 | * $config['additional_javascript'][] = 'js/inline-expanding.js'; 12 | * $config['additional_javascript'][] = 'js/inline-expanding-filename.js'; 13 | * 14 | */ 15 | 16 | onready(function(){ 17 | var inline_expanding_filename = function() { 18 | $(this).find(".fileinfo > a").click(function(){ 19 | var imagelink = $(this).parent().parent().find('a[target="_blank"]:first'); 20 | if(imagelink.length > 0) { 21 | imagelink.click(); 22 | return false; 23 | } 24 | }); 25 | }; 26 | 27 | $('div[id^="thread_"]').each(inline_expanding_filename); 28 | 29 | // allow to work with auto-reload.js, etc. 30 | $(document).on('new_post', function(e, post) { 31 | inline_expanding_filename.call(post); 32 | }); 33 | }); 34 | -------------------------------------------------------------------------------- /js/mobile-style.js: -------------------------------------------------------------------------------- 1 | /* 2 | * mobile-style.js - adds some responsiveness to Tinyboard 3 | * https://github.com/vichan-devel/Tinyboard/blob/master/js/mobile-style.js 4 | * 5 | * Released under the MIT license 6 | * Copyright (c) 2014 Marcin Łabanowski 7 | * 8 | * Usage: 9 | * $config['additional_javascript'][] = 'js/mobile-style.js'; 10 | */ 11 | var device_type; 12 | 13 | onready(() => { 14 | if(navigator.userAgent.match(/iPhone|iPod|iPad|Android|Opera Mini|Blackberry|PlayBook|Windows Phone|Tablet PC|Windows CE|IEMobile/i)) { 15 | document.querySelector('html').classList.add('mobile-style'); 16 | device_type = 'mobile'; 17 | } else { 18 | document.querySelector('html').classList.add('desktop-style'); 19 | device_type = 'desktop'; 20 | } 21 | }); 22 | -------------------------------------------------------------------------------- /js/multi-image.js: -------------------------------------------------------------------------------- 1 | /* 2 | * multi-image.js - Add support for multiple images to the post form 3 | * 4 | * Copyright (c) 2014 Fredrick Brennan 5 | * 6 | * Usage: 7 | * $config['max_images'] = 3; 8 | * $config['additional_javascript'][] = 'js/jquery.min.js'; 9 | * $config['additional_javascript'][] = 'js/multi-image.js'; 10 | */ 11 | 12 | function multi_image() { 13 | $('input[type=file]').after('+'); 14 | 15 | $(document).on('click', 'a.add_image', function(e) { 16 | e.preventDefault(); 17 | 18 | var images_len = $('form:not([id="quick-reply"]) [type=file]').length; 19 | 20 | if (!(images_len >= max_images)) { 21 | var new_file = '
'; 22 | 23 | $('[type=file]:last').after(new_file); 24 | if ($("#quick-reply").length) { 25 | $('form:not(#quick-reply) [type=file]:last').after(new_file); 26 | } 27 | if (typeof setup_form !== 'undefined') setup_form($('form[name="post"]')); 28 | } 29 | }) 30 | } 31 | 32 | if (active_page == 'thread' || active_page == 'index' && max_images > 1) { 33 | $(document).ready(multi_image); 34 | } 35 | -------------------------------------------------------------------------------- /js/save-user_flag.js: -------------------------------------------------------------------------------- 1 | function user_flag() { 2 | var flagStorage = "flag_" + document.getElementsByName('board')[0].value; 3 | var item = window.localStorage.getItem(flagStorage); 4 | $('select[name=user_flag]').val(item); 5 | $('select[name=user_flag]').change(function() { 6 | window.localStorage.setItem(flagStorage, $(this).val()); 7 | }); 8 | $(window).on('quick-reply', function() { 9 | $('form#quick-reply select[name="user_flag"]').val($('select[name="user_flag"]').val()); 10 | }); 11 | } 12 | if (active_page == 'thread' || active_page == 'index') { 13 | $(document).ready(user_flag); 14 | } 15 | -------------------------------------------------------------------------------- /js/show-op.js: -------------------------------------------------------------------------------- 1 | /* 2 | * show-op 3 | * https://github.com/savetheinternet/Tinyboard/blob/master/js/show-op.js 4 | * 5 | * Adds "(OP)" to >>X links when the OP is quoted. 6 | * 7 | * Released under the MIT license 8 | * Copyright (c) 2012 Michael Save 9 | * Copyright (c) 2014 Marcin Łabanowski 10 | * 11 | * Usage: 12 | * $config['additional_javascript'][] = 'js/jquery.min.js'; 13 | * $config['additional_javascript'][] = 'js/show-op.js'; 14 | * 15 | */ 16 | 17 | $(document).ready(function(){ 18 | var showOPLinks = function() { 19 | var OP; 20 | 21 | if ($('div.banner').length == 0) { 22 | OP = parseInt($(this).parent().find('div.post.op a.post_no:eq(1)').text()); 23 | } else { 24 | OP = parseInt($('div.post.op a.post_no:eq(1)').text()); 25 | } 26 | 27 | $(this).find('div.body a:not([rel="nofollow"])').each(function() { 28 | var postID; 29 | 30 | if(postID = $(this).text().match(/^>>(\d+)$/)) 31 | postID = postID[1]; 32 | else 33 | return; 34 | 35 | if (postID == OP) { 36 | $(this).after(' (OP)'); 37 | } 38 | }); 39 | }; 40 | 41 | $('div.post.reply').each(showOPLinks); 42 | 43 | // allow to work with auto-reload.js, etc. 44 | $(document).on('new_post', function(e, post) { 45 | if ($(post).is('div.post.reply')) { 46 | $(post).each(showOPLinks); 47 | } 48 | else { 49 | $(post).find('div.post.reply').each(showOPLinks); 50 | } 51 | }); 52 | }); 53 | 54 | 55 | -------------------------------------------------------------------------------- /js/smartphone-spoiler.js: -------------------------------------------------------------------------------- 1 | /* 2 | * smartphone-spoiler.js 3 | * https://github.com/savetheinternet/Tinyboard/blob/master/js/smartphone-spoiler.js 4 | * 5 | * Released under the MIT license 6 | * Copyright (c) 2012 Michael Save 7 | * Copyright (c) 2013-2014 Marcin Łabanowski 8 | * 9 | * Usage: 10 | * $config['additional_javascript'][] = 'js/mobile-style.js'; 11 | * $config['additional_javascript'][] = 'js/smartphone-spoiler.js'; 12 | * 13 | */ 14 | 15 | onready(function(){ 16 | if(device_type == 'mobile') { 17 | var fix_spoilers = function(where) { 18 | var spoilers = where.getElementsByClassName('spoiler'); 19 | for(var i = 0; i < spoilers.length; i++) { 20 | spoilers[i].onmousedown = function() { 21 | this.style.color = 'white'; 22 | }; 23 | } 24 | }; 25 | fix_spoilers(document); 26 | 27 | // allow to work with auto-reload.js, etc. 28 | $(document).on('new_post', function(e, post) { 29 | fix_spoilers(post); 30 | }); 31 | 32 | } 33 | }); 34 | 35 | -------------------------------------------------------------------------------- /js/style-select.js: -------------------------------------------------------------------------------- 1 | /* 2 | * style-select.js 3 | * https://github.com/savetheinternet/Tinyboard/blob/master/js/style-select.js 4 | * 5 | * Changes the stylesheet chooser links to a '); 20 | 21 | var i = 1; 22 | stylesDiv.children().each(function() { 23 | var opt = $('') 24 | .html(this.innerHTML.replace(/(^\[|\]$)/g, '')) 25 | .val(i); 26 | if ($(this).hasClass('selected')) 27 | opt.attr('selected', true); 28 | stylesSelect.append(opt); 29 | $(this).attr('id', 'style-select-' + i); 30 | i++; 31 | }); 32 | 33 | stylesSelect.change(function() { 34 | $('#style-select-' + $(this).val()).click(); 35 | }); 36 | 37 | stylesDiv.hide(); 38 | 39 | stylesDiv.after( 40 | $('
') 41 | .text(_('Style: ')) 42 | .append(stylesSelect) 43 | ); 44 | }); 45 | 46 | -------------------------------------------------------------------------------- /js/threadscroll.js: -------------------------------------------------------------------------------- 1 | if(active_page == "index" || active_page == "ukko"){ 2 | var hoverElem = null; 3 | 4 | $(document).mouseover(function(e){ 5 | var x = e.clientX, y = e.clientY, 6 | elementOnMouseOver = document.elementFromPoint(x, y); 7 | hoverElem = $(elementOnMouseOver); 8 | }); 9 | 10 | $(document).keydown(function(e){ 11 | //Up arrow 12 | if(e.which == 38){ 13 | var ele = hoverElem; 14 | var par = $(ele).parents('div[id^="thread_"]'); 15 | 16 | if(par.length == 1){ 17 | if(par.prev().attr("id") != null){ 18 | if(par.prev().attr("id").match("^thread")){ 19 | par.prev()[0].scrollIntoView(true); 20 | } 21 | } 22 | } 23 | //Down arrow 24 | }else if(e.which == 40){ 25 | var ele = hoverElem; 26 | var par = $(ele).parents('div[id^="thread_"]'); 27 | 28 | if(par.length == 1){ 29 | if(par.next().attr("id") != null){ 30 | if(par.next().attr("id").match("^thread")){ 31 | par.next()[0].scrollIntoView(true); 32 | } 33 | } 34 | } 35 | } 36 | }); 37 | } 38 | -------------------------------------------------------------------------------- /js/titlebar-notifications.js: -------------------------------------------------------------------------------- 1 | /* 2 | * titlebar-notifications.js - a library for showing number of new events in titlebar 3 | * https://github.com/vichan-devel/Tinyboard/blob/master/js/titlebar-notifications.js 4 | * 5 | * Released under the MIT license 6 | * Copyright (c) 2014 Marcin Łabanowski 7 | * 8 | * Usage: 9 | * $config['additional_javascript'][] = 'js/titlebar-notifications.js'; 10 | * //$config['additional_javascript'][] = 'js/auto-reload.js'; 11 | * //$config['additional_javascript'][] = 'js/watch.js'; 12 | * 13 | */ 14 | 15 | var orig_title = document.title; 16 | 17 | $(function(){ 18 | orig_title = document.title; 19 | }); 20 | 21 | update_title = function() { 22 | var updates = 0; 23 | for(var i in title_collectors) { 24 | updates += title_collectors[i](); 25 | } 26 | document.title = (updates ? "("+updates+") " : "") + orig_title; 27 | }; 28 | 29 | var title_collectors = []; 30 | add_title_collector = function(f) { 31 | title_collectors.push(f); 32 | }; 33 | -------------------------------------------------------------------------------- /js/webm/playersettings.js: -------------------------------------------------------------------------------- 1 | /* This file is dedicated to the public domain; you may do as you wish with it. */ 2 | if (window.addEventListener) window.addEventListener("load", function(e) { 3 | document.getElementById("playerheader").appendChild(settingsMenu); 4 | 5 | var video = document.getElementsByTagName("video")[0]; 6 | 7 | var loopLinks = [document.getElementById("loop0"), document.getElementById("loop1")]; 8 | function setupLoopLink(i) { 9 | loopLinks[i].addEventListener("click", function(e) { 10 | if (!e.shiftKey && !e.ctrlKey && !e.altKey && !e.metaKey) { 11 | video.loop = (i != 0); 12 | if (i != 0 && video.currentTime >= video.duration) { 13 | video.currentTime = 0; 14 | } 15 | loopLinks[i].style.fontWeight = "bold"; 16 | loopLinks[1-i].style.fontWeight = "inherit"; 17 | e.preventDefault(); 18 | } 19 | }, false); 20 | } 21 | for (var i = 0; i < 2; i++) { 22 | setupLoopLink(i); 23 | } 24 | 25 | video.muted = (setting("videovolume") == 0); 26 | video.volume = setting("videovolume"); 27 | video.play(); 28 | }, false); 29 | -------------------------------------------------------------------------------- /player.php: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 12 | <?= htmlspecialchars($t); ?> 13 | 14 | 15 | 16 | 17 | 18 |
19 | >[play once] 20 | >[loop] 21 |
22 |
23 | 26 |
27 | 28 | 29 | -------------------------------------------------------------------------------- /static/blank.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/blank.gif -------------------------------------------------------------------------------- /static/collapse.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/collapse.gif -------------------------------------------------------------------------------- /static/deleted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/deleted.png -------------------------------------------------------------------------------- /static/file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/file.png -------------------------------------------------------------------------------- /static/flags/a1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/a1.png -------------------------------------------------------------------------------- /static/flags/a2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/a2.png -------------------------------------------------------------------------------- /static/flags/ac.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ac.png -------------------------------------------------------------------------------- /static/flags/ad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ad.png -------------------------------------------------------------------------------- /static/flags/ae.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ae.png -------------------------------------------------------------------------------- /static/flags/af.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/af.png -------------------------------------------------------------------------------- /static/flags/ag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ag.png -------------------------------------------------------------------------------- /static/flags/ai.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ai.png -------------------------------------------------------------------------------- /static/flags/al.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/al.png -------------------------------------------------------------------------------- /static/flags/am.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/am.png -------------------------------------------------------------------------------- /static/flags/an.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/an.png -------------------------------------------------------------------------------- /static/flags/ao.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ao.png -------------------------------------------------------------------------------- /static/flags/ap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ap.png -------------------------------------------------------------------------------- /static/flags/aq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/aq.png -------------------------------------------------------------------------------- /static/flags/ar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ar.png -------------------------------------------------------------------------------- /static/flags/as.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/as.png -------------------------------------------------------------------------------- /static/flags/at.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/at.png -------------------------------------------------------------------------------- /static/flags/au.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/au.png -------------------------------------------------------------------------------- /static/flags/aw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/aw.png -------------------------------------------------------------------------------- /static/flags/ax.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ax.png -------------------------------------------------------------------------------- /static/flags/az.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/az.png -------------------------------------------------------------------------------- /static/flags/ba.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ba.png -------------------------------------------------------------------------------- /static/flags/bb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/bb.png -------------------------------------------------------------------------------- /static/flags/bd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/bd.png -------------------------------------------------------------------------------- /static/flags/be.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/be.png -------------------------------------------------------------------------------- /static/flags/bf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/bf.png -------------------------------------------------------------------------------- /static/flags/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/bg.png -------------------------------------------------------------------------------- /static/flags/bh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/bh.png -------------------------------------------------------------------------------- /static/flags/bi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/bi.png -------------------------------------------------------------------------------- /static/flags/bj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/bj.png -------------------------------------------------------------------------------- /static/flags/bl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/bl.png -------------------------------------------------------------------------------- /static/flags/bm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/bm.png -------------------------------------------------------------------------------- /static/flags/bn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/bn.png -------------------------------------------------------------------------------- /static/flags/bo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/bo.png -------------------------------------------------------------------------------- /static/flags/bq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/bq.png -------------------------------------------------------------------------------- /static/flags/br.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/br.png -------------------------------------------------------------------------------- /static/flags/bs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/bs.png -------------------------------------------------------------------------------- /static/flags/bt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/bt.png -------------------------------------------------------------------------------- /static/flags/bu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/bu.png -------------------------------------------------------------------------------- /static/flags/bv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/bv.png -------------------------------------------------------------------------------- /static/flags/bw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/bw.png -------------------------------------------------------------------------------- /static/flags/by.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/by.png -------------------------------------------------------------------------------- /static/flags/bz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/bz.png -------------------------------------------------------------------------------- /static/flags/ca.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ca.png -------------------------------------------------------------------------------- /static/flags/cat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/cat.png -------------------------------------------------------------------------------- /static/flags/cc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/cc.png -------------------------------------------------------------------------------- /static/flags/cd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/cd.png -------------------------------------------------------------------------------- /static/flags/cf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/cf.png -------------------------------------------------------------------------------- /static/flags/cg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/cg.png -------------------------------------------------------------------------------- /static/flags/ch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ch.png -------------------------------------------------------------------------------- /static/flags/ci.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ci.png -------------------------------------------------------------------------------- /static/flags/ck.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ck.png -------------------------------------------------------------------------------- /static/flags/cl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/cl.png -------------------------------------------------------------------------------- /static/flags/cm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/cm.png -------------------------------------------------------------------------------- /static/flags/cn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/cn.png -------------------------------------------------------------------------------- /static/flags/co.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/co.png -------------------------------------------------------------------------------- /static/flags/cp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/cp.png -------------------------------------------------------------------------------- /static/flags/cr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/cr.png -------------------------------------------------------------------------------- /static/flags/cs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/cs.png -------------------------------------------------------------------------------- /static/flags/cu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/cu.png -------------------------------------------------------------------------------- /static/flags/cv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/cv.png -------------------------------------------------------------------------------- /static/flags/cw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/cw.png -------------------------------------------------------------------------------- /static/flags/cx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/cx.png -------------------------------------------------------------------------------- /static/flags/cy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/cy.png -------------------------------------------------------------------------------- /static/flags/cz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/cz.png -------------------------------------------------------------------------------- /static/flags/de.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/de.png -------------------------------------------------------------------------------- /static/flags/dg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/dg.png -------------------------------------------------------------------------------- /static/flags/dj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/dj.png -------------------------------------------------------------------------------- /static/flags/dk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/dk.png -------------------------------------------------------------------------------- /static/flags/dm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/dm.png -------------------------------------------------------------------------------- /static/flags/do.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/do.png -------------------------------------------------------------------------------- /static/flags/dz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/dz.png -------------------------------------------------------------------------------- /static/flags/ea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ea.png -------------------------------------------------------------------------------- /static/flags/ec.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ec.png -------------------------------------------------------------------------------- /static/flags/ee.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ee.png -------------------------------------------------------------------------------- /static/flags/eg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/eg.png -------------------------------------------------------------------------------- /static/flags/eh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/eh.png -------------------------------------------------------------------------------- /static/flags/er.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/er.png -------------------------------------------------------------------------------- /static/flags/es.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/es.png -------------------------------------------------------------------------------- /static/flags/et.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/et.png -------------------------------------------------------------------------------- /static/flags/eu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/eu.png -------------------------------------------------------------------------------- /static/flags/fi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/fi.png -------------------------------------------------------------------------------- /static/flags/fj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/fj.png -------------------------------------------------------------------------------- /static/flags/fk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/fk.png -------------------------------------------------------------------------------- /static/flags/flags.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/flags.png -------------------------------------------------------------------------------- /static/flags/fm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/fm.png -------------------------------------------------------------------------------- /static/flags/fo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/fo.png -------------------------------------------------------------------------------- /static/flags/fr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/fr.png -------------------------------------------------------------------------------- /static/flags/fx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/fx.png -------------------------------------------------------------------------------- /static/flags/ga.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ga.png -------------------------------------------------------------------------------- /static/flags/gb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/gb.png -------------------------------------------------------------------------------- /static/flags/gd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/gd.png -------------------------------------------------------------------------------- /static/flags/ge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ge.png -------------------------------------------------------------------------------- /static/flags/gf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/gf.png -------------------------------------------------------------------------------- /static/flags/gg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/gg.png -------------------------------------------------------------------------------- /static/flags/gh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/gh.png -------------------------------------------------------------------------------- /static/flags/gi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/gi.png -------------------------------------------------------------------------------- /static/flags/gl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/gl.png -------------------------------------------------------------------------------- /static/flags/gm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/gm.png -------------------------------------------------------------------------------- /static/flags/gn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/gn.png -------------------------------------------------------------------------------- /static/flags/gp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/gp.png -------------------------------------------------------------------------------- /static/flags/gq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/gq.png -------------------------------------------------------------------------------- /static/flags/gr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/gr.png -------------------------------------------------------------------------------- /static/flags/gs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/gs.png -------------------------------------------------------------------------------- /static/flags/gt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/gt.png -------------------------------------------------------------------------------- /static/flags/gu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/gu.png -------------------------------------------------------------------------------- /static/flags/gw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/gw.png -------------------------------------------------------------------------------- /static/flags/gy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/gy.png -------------------------------------------------------------------------------- /static/flags/hk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/hk.png -------------------------------------------------------------------------------- /static/flags/hm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/hm.png -------------------------------------------------------------------------------- /static/flags/hn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/hn.png -------------------------------------------------------------------------------- /static/flags/hr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/hr.png -------------------------------------------------------------------------------- /static/flags/ht.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ht.png -------------------------------------------------------------------------------- /static/flags/hu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/hu.png -------------------------------------------------------------------------------- /static/flags/ic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ic.png -------------------------------------------------------------------------------- /static/flags/id.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/id.png -------------------------------------------------------------------------------- /static/flags/ie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ie.png -------------------------------------------------------------------------------- /static/flags/il.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/il.png -------------------------------------------------------------------------------- /static/flags/im.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/im.png -------------------------------------------------------------------------------- /static/flags/in.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/in.png -------------------------------------------------------------------------------- /static/flags/io.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/io.png -------------------------------------------------------------------------------- /static/flags/iq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/iq.png -------------------------------------------------------------------------------- /static/flags/ir.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ir.png -------------------------------------------------------------------------------- /static/flags/is.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/is.png -------------------------------------------------------------------------------- /static/flags/it.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/it.png -------------------------------------------------------------------------------- /static/flags/je.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/je.png -------------------------------------------------------------------------------- /static/flags/jm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/jm.png -------------------------------------------------------------------------------- /static/flags/jo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/jo.png -------------------------------------------------------------------------------- /static/flags/jp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/jp.png -------------------------------------------------------------------------------- /static/flags/ke.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ke.png -------------------------------------------------------------------------------- /static/flags/kg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/kg.png -------------------------------------------------------------------------------- /static/flags/kh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/kh.png -------------------------------------------------------------------------------- /static/flags/ki.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ki.png -------------------------------------------------------------------------------- /static/flags/km.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/km.png -------------------------------------------------------------------------------- /static/flags/kn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/kn.png -------------------------------------------------------------------------------- /static/flags/kp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/kp.png -------------------------------------------------------------------------------- /static/flags/kr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/kr.png -------------------------------------------------------------------------------- /static/flags/kw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/kw.png -------------------------------------------------------------------------------- /static/flags/ky.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ky.png -------------------------------------------------------------------------------- /static/flags/kz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/kz.png -------------------------------------------------------------------------------- /static/flags/la.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/la.png -------------------------------------------------------------------------------- /static/flags/lb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/lb.png -------------------------------------------------------------------------------- /static/flags/lc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/lc.png -------------------------------------------------------------------------------- /static/flags/li.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/li.png -------------------------------------------------------------------------------- /static/flags/lk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/lk.png -------------------------------------------------------------------------------- /static/flags/lr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/lr.png -------------------------------------------------------------------------------- /static/flags/ls.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ls.png -------------------------------------------------------------------------------- /static/flags/lt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/lt.png -------------------------------------------------------------------------------- /static/flags/lu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/lu.png -------------------------------------------------------------------------------- /static/flags/lv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/lv.png -------------------------------------------------------------------------------- /static/flags/ly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ly.png -------------------------------------------------------------------------------- /static/flags/ma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ma.png -------------------------------------------------------------------------------- /static/flags/mc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/mc.png -------------------------------------------------------------------------------- /static/flags/md.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/md.png -------------------------------------------------------------------------------- /static/flags/me.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/me.png -------------------------------------------------------------------------------- /static/flags/mf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/mf.png -------------------------------------------------------------------------------- /static/flags/mg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/mg.png -------------------------------------------------------------------------------- /static/flags/mh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/mh.png -------------------------------------------------------------------------------- /static/flags/mk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/mk.png -------------------------------------------------------------------------------- /static/flags/ml.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ml.png -------------------------------------------------------------------------------- /static/flags/mm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/mm.png -------------------------------------------------------------------------------- /static/flags/mn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/mn.png -------------------------------------------------------------------------------- /static/flags/mo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/mo.png -------------------------------------------------------------------------------- /static/flags/mp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/mp.png -------------------------------------------------------------------------------- /static/flags/mq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/mq.png -------------------------------------------------------------------------------- /static/flags/mr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/mr.png -------------------------------------------------------------------------------- /static/flags/ms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ms.png -------------------------------------------------------------------------------- /static/flags/mt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/mt.png -------------------------------------------------------------------------------- /static/flags/mu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/mu.png -------------------------------------------------------------------------------- /static/flags/mv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/mv.png -------------------------------------------------------------------------------- /static/flags/mw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/mw.png -------------------------------------------------------------------------------- /static/flags/mx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/mx.png -------------------------------------------------------------------------------- /static/flags/my.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/my.png -------------------------------------------------------------------------------- /static/flags/mz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/mz.png -------------------------------------------------------------------------------- /static/flags/na.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/na.png -------------------------------------------------------------------------------- /static/flags/nc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/nc.png -------------------------------------------------------------------------------- /static/flags/ne.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ne.png -------------------------------------------------------------------------------- /static/flags/nf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/nf.png -------------------------------------------------------------------------------- /static/flags/ng.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ng.png -------------------------------------------------------------------------------- /static/flags/ni.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ni.png -------------------------------------------------------------------------------- /static/flags/nl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/nl.png -------------------------------------------------------------------------------- /static/flags/no.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/no.png -------------------------------------------------------------------------------- /static/flags/np.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/np.png -------------------------------------------------------------------------------- /static/flags/nr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/nr.png -------------------------------------------------------------------------------- /static/flags/nt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/nt.png -------------------------------------------------------------------------------- /static/flags/nu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/nu.png -------------------------------------------------------------------------------- /static/flags/nz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/nz.png -------------------------------------------------------------------------------- /static/flags/o1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/o1.png -------------------------------------------------------------------------------- /static/flags/om.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/om.png -------------------------------------------------------------------------------- /static/flags/pa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/pa.png -------------------------------------------------------------------------------- /static/flags/pe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/pe.png -------------------------------------------------------------------------------- /static/flags/pf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/pf.png -------------------------------------------------------------------------------- /static/flags/pg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/pg.png -------------------------------------------------------------------------------- /static/flags/ph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ph.png -------------------------------------------------------------------------------- /static/flags/pk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/pk.png -------------------------------------------------------------------------------- /static/flags/pl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/pl.png -------------------------------------------------------------------------------- /static/flags/pm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/pm.png -------------------------------------------------------------------------------- /static/flags/pn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/pn.png -------------------------------------------------------------------------------- /static/flags/pr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/pr.png -------------------------------------------------------------------------------- /static/flags/ps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ps.png -------------------------------------------------------------------------------- /static/flags/pt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/pt.png -------------------------------------------------------------------------------- /static/flags/pw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/pw.png -------------------------------------------------------------------------------- /static/flags/py.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/py.png -------------------------------------------------------------------------------- /static/flags/qa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/qa.png -------------------------------------------------------------------------------- /static/flags/re.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/re.png -------------------------------------------------------------------------------- /static/flags/ro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ro.png -------------------------------------------------------------------------------- /static/flags/rs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/rs.png -------------------------------------------------------------------------------- /static/flags/ru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ru.png -------------------------------------------------------------------------------- /static/flags/rw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/rw.png -------------------------------------------------------------------------------- /static/flags/sa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/sa.png -------------------------------------------------------------------------------- /static/flags/sb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/sb.png -------------------------------------------------------------------------------- /static/flags/sc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/sc.png -------------------------------------------------------------------------------- /static/flags/sd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/sd.png -------------------------------------------------------------------------------- /static/flags/se.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/se.png -------------------------------------------------------------------------------- /static/flags/sf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/sf.png -------------------------------------------------------------------------------- /static/flags/sg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/sg.png -------------------------------------------------------------------------------- /static/flags/sh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/sh.png -------------------------------------------------------------------------------- /static/flags/si.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/si.png -------------------------------------------------------------------------------- /static/flags/sj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/sj.png -------------------------------------------------------------------------------- /static/flags/sk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/sk.png -------------------------------------------------------------------------------- /static/flags/sl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/sl.png -------------------------------------------------------------------------------- /static/flags/sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/sm.png -------------------------------------------------------------------------------- /static/flags/sn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/sn.png -------------------------------------------------------------------------------- /static/flags/so.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/so.png -------------------------------------------------------------------------------- /static/flags/sr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/sr.png -------------------------------------------------------------------------------- /static/flags/ss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ss.png -------------------------------------------------------------------------------- /static/flags/st.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/st.png -------------------------------------------------------------------------------- /static/flags/su.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/su.png -------------------------------------------------------------------------------- /static/flags/sv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/sv.png -------------------------------------------------------------------------------- /static/flags/sx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/sx.png -------------------------------------------------------------------------------- /static/flags/sy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/sy.png -------------------------------------------------------------------------------- /static/flags/sz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/sz.png -------------------------------------------------------------------------------- /static/flags/ta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ta.png -------------------------------------------------------------------------------- /static/flags/tc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/tc.png -------------------------------------------------------------------------------- /static/flags/td.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/td.png -------------------------------------------------------------------------------- /static/flags/tf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/tf.png -------------------------------------------------------------------------------- /static/flags/tg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/tg.png -------------------------------------------------------------------------------- /static/flags/th.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/th.png -------------------------------------------------------------------------------- /static/flags/ti.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ti.png -------------------------------------------------------------------------------- /static/flags/tj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/tj.png -------------------------------------------------------------------------------- /static/flags/tk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/tk.png -------------------------------------------------------------------------------- /static/flags/tl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/tl.png -------------------------------------------------------------------------------- /static/flags/tm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/tm.png -------------------------------------------------------------------------------- /static/flags/tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/tn.png -------------------------------------------------------------------------------- /static/flags/to.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/to.png -------------------------------------------------------------------------------- /static/flags/tp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/tp.png -------------------------------------------------------------------------------- /static/flags/tr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/tr.png -------------------------------------------------------------------------------- /static/flags/tt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/tt.png -------------------------------------------------------------------------------- /static/flags/tv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/tv.png -------------------------------------------------------------------------------- /static/flags/tw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/tw.png -------------------------------------------------------------------------------- /static/flags/tz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/tz.png -------------------------------------------------------------------------------- /static/flags/ua.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ua.png -------------------------------------------------------------------------------- /static/flags/ug.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ug.png -------------------------------------------------------------------------------- /static/flags/uk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/uk.png -------------------------------------------------------------------------------- /static/flags/um.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/um.png -------------------------------------------------------------------------------- /static/flags/us.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/us.png -------------------------------------------------------------------------------- /static/flags/uy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/uy.png -------------------------------------------------------------------------------- /static/flags/uz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/uz.png -------------------------------------------------------------------------------- /static/flags/va.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/va.png -------------------------------------------------------------------------------- /static/flags/vc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/vc.png -------------------------------------------------------------------------------- /static/flags/ve.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ve.png -------------------------------------------------------------------------------- /static/flags/vg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/vg.png -------------------------------------------------------------------------------- /static/flags/vi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/vi.png -------------------------------------------------------------------------------- /static/flags/vn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/vn.png -------------------------------------------------------------------------------- /static/flags/vu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/vu.png -------------------------------------------------------------------------------- /static/flags/wf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/wf.png -------------------------------------------------------------------------------- /static/flags/ws.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ws.png -------------------------------------------------------------------------------- /static/flags/xx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/xx.png -------------------------------------------------------------------------------- /static/flags/ye.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/ye.png -------------------------------------------------------------------------------- /static/flags/yt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/yt.png -------------------------------------------------------------------------------- /static/flags/yu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/yu.png -------------------------------------------------------------------------------- /static/flags/za.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/za.png -------------------------------------------------------------------------------- /static/flags/zm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/zm.png -------------------------------------------------------------------------------- /static/flags/zr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/zr.png -------------------------------------------------------------------------------- /static/flags/zw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/flags/zw.png -------------------------------------------------------------------------------- /static/locked.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/locked.gif -------------------------------------------------------------------------------- /static/spoiler.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/spoiler.png -------------------------------------------------------------------------------- /static/video.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/video.png -------------------------------------------------------------------------------- /static/warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/warning.png -------------------------------------------------------------------------------- /static/zip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/static/zip.png -------------------------------------------------------------------------------- /stylesheets/font-awesome/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/font-awesome/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /stylesheets/font-awesome/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/font-awesome/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /stylesheets/font-awesome/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/font-awesome/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /stylesheets/font-awesome/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/font-awesome/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /stylesheets/font-awesome/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/font-awesome/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /stylesheets/font-awesome/less/animated.less: -------------------------------------------------------------------------------- 1 | // Animated Icons 2 | // -------------------------- 3 | 4 | .@{fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .@{fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /stylesheets/font-awesome/less/bordered-pulled.less: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em @fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .@{fa-css-prefix}-pull-left { float: left; } 11 | .@{fa-css-prefix}-pull-right { float: right; } 12 | 13 | .@{fa-css-prefix} { 14 | &.@{fa-css-prefix}-pull-left { margin-right: .3em; } 15 | &.@{fa-css-prefix}-pull-right { margin-left: .3em; } 16 | } 17 | 18 | /* Deprecated as of 4.4.0 */ 19 | .pull-right { float: right; } 20 | .pull-left { float: left; } 21 | 22 | .@{fa-css-prefix} { 23 | &.pull-left { margin-right: .3em; } 24 | &.pull-right { margin-left: .3em; } 25 | } 26 | -------------------------------------------------------------------------------- /stylesheets/font-awesome/less/core.less: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /stylesheets/font-awesome/less/fixed-width.less: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .@{fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /stylesheets/font-awesome/less/font-awesome.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.6.1 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables.less"; 7 | @import "mixins.less"; 8 | @import "path.less"; 9 | @import "core.less"; 10 | @import "larger.less"; 11 | @import "fixed-width.less"; 12 | @import "list.less"; 13 | @import "bordered-pulled.less"; 14 | @import "animated.less"; 15 | @import "rotated-flipped.less"; 16 | @import "stacked.less"; 17 | @import "icons.less"; 18 | @import "screen-reader.less"; 19 | -------------------------------------------------------------------------------- /stylesheets/font-awesome/less/larger.less: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .@{fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .@{fa-css-prefix}-2x { font-size: 2em; } 11 | .@{fa-css-prefix}-3x { font-size: 3em; } 12 | .@{fa-css-prefix}-4x { font-size: 4em; } 13 | .@{fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /stylesheets/font-awesome/less/list.less: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: @fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .@{fa-css-prefix}-li { 11 | position: absolute; 12 | left: -@fa-li-width; 13 | width: @fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.@{fa-css-prefix}-lg { 17 | left: (-@fa-li-width + (4em / 14)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /stylesheets/font-awesome/less/path.less: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}'); 7 | src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'), 8 | url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'), 9 | url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'), 10 | url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'), 11 | url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /stylesheets/font-awesome/less/rotated-flipped.less: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } 5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } 6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } 7 | 8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } 9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .@{fa-css-prefix}-rotate-90, 15 | :root .@{fa-css-prefix}-rotate-180, 16 | :root .@{fa-css-prefix}-rotate-270, 17 | :root .@{fa-css-prefix}-flip-horizontal, 18 | :root .@{fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /stylesheets/font-awesome/less/screen-reader.less: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { .sr-only(); } 5 | .sr-only-focusable { .sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /stylesheets/font-awesome/less/spinning.less: -------------------------------------------------------------------------------- 1 | // Spinning Icons 2 | // -------------------------- 3 | 4 | .@{fa-css-prefix}-spin { 5 | -webkit-animation: spin 2s infinite linear; 6 | -moz-animation: spin 2s infinite linear; 7 | -o-animation: spin 2s infinite linear; 8 | animation: spin 2s infinite linear; 9 | } 10 | 11 | @-moz-keyframes spin { 12 | 0% { -moz-transform: rotate(0deg); } 13 | 100% { -moz-transform: rotate(359deg); } 14 | } 15 | @-webkit-keyframes spin { 16 | 0% { -webkit-transform: rotate(0deg); } 17 | 100% { -webkit-transform: rotate(359deg); } 18 | } 19 | @-o-keyframes spin { 20 | 0% { -o-transform: rotate(0deg); } 21 | 100% { -o-transform: rotate(359deg); } 22 | } 23 | @keyframes spin { 24 | 0% { 25 | -webkit-transform: rotate(0deg); 26 | transform: rotate(0deg); 27 | } 28 | 100% { 29 | -webkit-transform: rotate(359deg); 30 | transform: rotate(359deg); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /stylesheets/font-awesome/less/stacked.less: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; } 21 | -------------------------------------------------------------------------------- /stylesheets/font-awesome/scss/_animated.scss: -------------------------------------------------------------------------------- 1 | // Spinning Icons 2 | // -------------------------- 3 | 4 | .#{$fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .#{$fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /stylesheets/font-awesome/scss/_bordered-pulled.scss: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em $fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .#{$fa-css-prefix}-pull-left { float: left; } 11 | .#{$fa-css-prefix}-pull-right { float: right; } 12 | 13 | .#{$fa-css-prefix} { 14 | &.#{$fa-css-prefix}-pull-left { margin-right: .3em; } 15 | &.#{$fa-css-prefix}-pull-right { margin-left: .3em; } 16 | } 17 | 18 | /* Deprecated as of 4.4.0 */ 19 | .pull-right { float: right; } 20 | .pull-left { float: left; } 21 | 22 | .#{$fa-css-prefix} { 23 | &.pull-left { margin-right: .3em; } 24 | &.pull-right { margin-left: .3em; } 25 | } 26 | -------------------------------------------------------------------------------- /stylesheets/font-awesome/scss/_core.scss: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /stylesheets/font-awesome/scss/_fixed-width.scss: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .#{$fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /stylesheets/font-awesome/scss/_larger.scss: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .#{$fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .#{$fa-css-prefix}-2x { font-size: 2em; } 11 | .#{$fa-css-prefix}-3x { font-size: 3em; } 12 | .#{$fa-css-prefix}-4x { font-size: 4em; } 13 | .#{$fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /stylesheets/font-awesome/scss/_list.scss: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: $fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .#{$fa-css-prefix}-li { 11 | position: absolute; 12 | left: -$fa-li-width; 13 | width: $fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.#{$fa-css-prefix}-lg { 17 | left: -$fa-li-width + (4em / 14); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /stylesheets/font-awesome/scss/_path.scss: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); 7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), 8 | url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'), 9 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), 10 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), 11 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /stylesheets/font-awesome/scss/_rotated-flipped.scss: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } 5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } 6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } 7 | 8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } 9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .#{$fa-css-prefix}-rotate-90, 15 | :root .#{$fa-css-prefix}-rotate-180, 16 | :root .#{$fa-css-prefix}-rotate-270, 17 | :root .#{$fa-css-prefix}-flip-horizontal, 18 | :root .#{$fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /stylesheets/font-awesome/scss/_screen-reader.scss: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { @include sr-only(); } 5 | .sr-only-focusable { @include sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /stylesheets/font-awesome/scss/_spinning.scss: -------------------------------------------------------------------------------- 1 | // Spinning Icons 2 | // -------------------------- 3 | 4 | .#{$fa-css-prefix}-spin { 5 | -webkit-animation: spin 2s infinite linear; 6 | -moz-animation: spin 2s infinite linear; 7 | -o-animation: spin 2s infinite linear; 8 | animation: spin 2s infinite linear; 9 | } 10 | 11 | @-moz-keyframes spin { 12 | 0% { -moz-transform: rotate(0deg); } 13 | 100% { -moz-transform: rotate(359deg); } 14 | } 15 | @-webkit-keyframes spin { 16 | 0% { -webkit-transform: rotate(0deg); } 17 | 100% { -webkit-transform: rotate(359deg); } 18 | } 19 | @-o-keyframes spin { 20 | 0% { -o-transform: rotate(0deg); } 21 | 100% { -o-transform: rotate(359deg); } 22 | } 23 | @keyframes spin { 24 | 0% { 25 | -webkit-transform: rotate(0deg); 26 | transform: rotate(0deg); 27 | } 28 | 100% { 29 | -webkit-transform: rotate(359deg); 30 | transform: rotate(359deg); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /stylesheets/font-awesome/scss/_stacked.scss: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; } 21 | -------------------------------------------------------------------------------- /stylesheets/font-awesome/scss/font-awesome.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.6.1 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables"; 7 | @import "mixins"; 8 | @import "path"; 9 | @import "core"; 10 | @import "larger"; 11 | @import "fixed-width"; 12 | @import "list"; 13 | @import "bordered-pulled"; 14 | @import "animated"; 15 | @import "rotated-flipped"; 16 | @import "stacked"; 17 | @import "icons"; 18 | @import "screen-reader"; 19 | -------------------------------------------------------------------------------- /stylesheets/img/arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/img/arrow.png -------------------------------------------------------------------------------- /stylesheets/img/bghead.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/img/bghead.png -------------------------------------------------------------------------------- /stylesheets/img/caffe_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/img/caffe_bg.png -------------------------------------------------------------------------------- /stylesheets/img/caffe_reply.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/img/caffe_reply.png -------------------------------------------------------------------------------- /stylesheets/img/caffe_reply2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/img/caffe_reply2.png -------------------------------------------------------------------------------- /stylesheets/img/confraria_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/img/confraria_bg.png -------------------------------------------------------------------------------- /stylesheets/img/confraria_foot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/img/confraria_foot.png -------------------------------------------------------------------------------- /stylesheets/img/confraria_hatstand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/img/confraria_hatstand.png -------------------------------------------------------------------------------- /stylesheets/img/dark_roach_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/img/dark_roach_bg.png -------------------------------------------------------------------------------- /stylesheets/img/dark_roach_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/img/dark_roach_top.png -------------------------------------------------------------------------------- /stylesheets/img/fade-blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/img/fade-blue.png -------------------------------------------------------------------------------- /stylesheets/img/fade-miku.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/img/fade-miku.png -------------------------------------------------------------------------------- /stylesheets/img/fade-yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/img/fade-yellow.png -------------------------------------------------------------------------------- /stylesheets/img/fade-yotsuba.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/img/fade-yotsuba.png -------------------------------------------------------------------------------- /stylesheets/img/jungle_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/img/jungle_bg.png -------------------------------------------------------------------------------- /stylesheets/img/jungle_bg1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/img/jungle_bg1.png -------------------------------------------------------------------------------- /stylesheets/img/jungle_td.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/img/jungle_td.png -------------------------------------------------------------------------------- /stylesheets/img/jungle_td2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/img/jungle_td2.png -------------------------------------------------------------------------------- /stylesheets/img/jungle_td_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/img/jungle_td_dark.png -------------------------------------------------------------------------------- /stylesheets/img/luna_bg1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/img/luna_bg1.png -------------------------------------------------------------------------------- /stylesheets/img/luna_bg2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/img/luna_bg2.png -------------------------------------------------------------------------------- /stylesheets/img/rect820.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/img/rect820.png -------------------------------------------------------------------------------- /stylesheets/img/rect821.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/img/rect821.png -------------------------------------------------------------------------------- /stylesheets/img/roachtlo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/img/roachtlo.png -------------------------------------------------------------------------------- /stylesheets/img/rugby_background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/img/rugby_background.jpg -------------------------------------------------------------------------------- /stylesheets/img/rugby_background2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/img/rugby_background2.jpg -------------------------------------------------------------------------------- /stylesheets/img/rugby_rugbysta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/img/rugby_rugbysta.png -------------------------------------------------------------------------------- /stylesheets/img/stripes_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/img/stripes_bg.png -------------------------------------------------------------------------------- /stylesheets/img/stripes_submit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/img/stripes_submit.png -------------------------------------------------------------------------------- /stylesheets/img/stripes_textarea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/img/stripes_textarea.png -------------------------------------------------------------------------------- /stylesheets/img/szalet_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/img/szalet_bg.png -------------------------------------------------------------------------------- /stylesheets/img/szalet_hr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/img/szalet_hr.png -------------------------------------------------------------------------------- /stylesheets/img/testorange_f_bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/img/testorange_f_bg.gif -------------------------------------------------------------------------------- /stylesheets/img/testorange_testo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/img/testorange_testo.png -------------------------------------------------------------------------------- /stylesheets/img/testorange_textarea_bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/img/testorange_textarea_bg.gif -------------------------------------------------------------------------------- /stylesheets/jquery-ui/core.css: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.4 - 2014-02-09 2 | * http://jqueryui.com 3 | * Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */ 4 | 5 | .ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%} -------------------------------------------------------------------------------- /stylesheets/jquery-ui/images/animated-overlay.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/jquery-ui/images/animated-overlay.gif -------------------------------------------------------------------------------- /stylesheets/jquery-ui/images/ui-bg_flat_0_aaaaaa_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/jquery-ui/images/ui-bg_flat_0_aaaaaa_40x100.png -------------------------------------------------------------------------------- /stylesheets/jquery-ui/images/ui-bg_flat_75_ffffff_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/jquery-ui/images/ui-bg_flat_75_ffffff_40x100.png -------------------------------------------------------------------------------- /stylesheets/jquery-ui/images/ui-bg_glass_55_fbf9ee_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/jquery-ui/images/ui-bg_glass_55_fbf9ee_1x400.png -------------------------------------------------------------------------------- /stylesheets/jquery-ui/images/ui-bg_glass_65_ffffff_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/jquery-ui/images/ui-bg_glass_65_ffffff_1x400.png -------------------------------------------------------------------------------- /stylesheets/jquery-ui/images/ui-bg_glass_75_dadada_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/jquery-ui/images/ui-bg_glass_75_dadada_1x400.png -------------------------------------------------------------------------------- /stylesheets/jquery-ui/images/ui-bg_glass_75_e6e6e6_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/jquery-ui/images/ui-bg_glass_75_e6e6e6_1x400.png -------------------------------------------------------------------------------- /stylesheets/jquery-ui/images/ui-bg_glass_95_fef1ec_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/jquery-ui/images/ui-bg_glass_95_fef1ec_1x400.png -------------------------------------------------------------------------------- /stylesheets/jquery-ui/images/ui-bg_highlight-soft_75_cccccc_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/jquery-ui/images/ui-bg_highlight-soft_75_cccccc_1x100.png -------------------------------------------------------------------------------- /stylesheets/jquery-ui/images/ui-icons_222222_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/jquery-ui/images/ui-icons_222222_256x240.png -------------------------------------------------------------------------------- /stylesheets/jquery-ui/images/ui-icons_2e83ff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/jquery-ui/images/ui-icons_2e83ff_256x240.png -------------------------------------------------------------------------------- /stylesheets/jquery-ui/images/ui-icons_454545_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/jquery-ui/images/ui-icons_454545_256x240.png -------------------------------------------------------------------------------- /stylesheets/jquery-ui/images/ui-icons_888888_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/jquery-ui/images/ui-icons_888888_256x240.png -------------------------------------------------------------------------------- /stylesheets/jquery-ui/images/ui-icons_cd0a0a_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/stylesheets/jquery-ui/images/ui-icons_cd0a0a_256x240.png -------------------------------------------------------------------------------- /stylesheets/jquery-ui/resizable.css: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.4 - 2014-02-09 2 | * http://jqueryui.com 3 | * Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */ 4 | 5 | .ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px} -------------------------------------------------------------------------------- /stylesheets/jquery-ui/selectable.css: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.10.4 - 2014-02-09 2 | * http://jqueryui.com 3 | * Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */ 4 | 5 | .ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black} -------------------------------------------------------------------------------- /stylesheets/notsuba.css: -------------------------------------------------------------------------------- 1 | /** 2 | * notsuba.css 3 | * Tagechan is the best 4 | * you are forbidden by law from making any unauthorized edits to this file. I-I'll sue! ;_; 5 | */ 6 | body { 7 | background: #f2edd0 8 | } 9 | 10 | a:link, a:visited { 11 | text-decoration: none; 12 | color: #608673; 13 | } 14 | 15 | a:link:hover, a:visited:hover { 16 | color: #DD0000; 17 | } 18 | 19 | a.post_no { 20 | color: #000033; 21 | } 22 | 23 | .intro a.email span.name { 24 | color: #608673; 25 | } 26 | 27 | .intro a.email:hover span.name { 28 | color: #DD0000; 29 | } 30 | 31 | h2, div.title, h1 { 32 | color: #800000; 33 | } 34 | 35 | form table tr th { 36 | background: #ded8b7; 37 | } 38 | 39 | div.banner { 40 | background-color: #E04000; 41 | } 42 | 43 | div.post.op hr { 44 | border-color: #608673; 45 | } 46 | 47 | .intro span.subject { 48 | color: #8a2e2e; 49 | font-weight: 800; 50 | } 51 | 52 | .intro span.name { 53 | color: #117743; 54 | font-weight: 800; 55 | } 56 | 57 | div.post.reply.highlighted { 58 | background: #dcae9b; 59 | } 60 | 61 | div.post.reply { 62 | background: #e9d1be; 63 | border-color: #dcae9b; 64 | } 65 | 66 | div.ban { 67 | border: 1px solid #B0C2B9; 68 | } 69 | 70 | div.ban h2 { 71 | background: #e9d1be; 72 | color: #608673; 73 | } 74 | 75 | div.pages { 76 | color: #8899AA; 77 | background: #e9d1be; 78 | border-right: 1px solid #8FCCCD; 79 | border-bottom: 1px solid #8FCCCD; 80 | } 81 | 82 | hr { 83 | border-color: #B0C2B9; 84 | } 85 | 86 | div.boardlist { 87 | color: #608673; 88 | } -------------------------------------------------------------------------------- /stylesheets/webm/playerstyle.css: -------------------------------------------------------------------------------- 1 | /* This file is dedicated to the public domain; you may do as you wish with it. */ 2 | body { 3 | background: black; 4 | color: white; 5 | margin: 0px; 6 | } 7 | #playerheader { 8 | position: absolute; 9 | left: 0px; 10 | right: 0px; 11 | top: 0px; 12 | height: 24px; 13 | padding: 0px 4px; 14 | text-align: right; 15 | font-size: 16px; 16 | } 17 | #playerheader a { 18 | color: white; 19 | text-decoration: none; 20 | } 21 | span.settings div { 22 | background: black; 23 | z-index: 1; 24 | padding-right: 4px; 25 | } 26 | #playercontent { 27 | position: absolute; 28 | left: 0px; 29 | right: 0px; 30 | top: 24px; 31 | bottom: 0px; 32 | } 33 | video { 34 | display: block; 35 | margin-left: auto; 36 | margin-right: auto; 37 | max-width: 100%; 38 | max-height: 100%; 39 | } 40 | -------------------------------------------------------------------------------- /stylesheets/yotsuba.css: -------------------------------------------------------------------------------- 1 | body { 2 | background: #ffe url('img/fade-yotsuba.png') repeat-x 50% 0%; 3 | color: #800000; 4 | } 5 | a:link, a:visited, .intro a.email span.name { 6 | color: #0000ff; 7 | } 8 | a:link:hover { 9 | color: #d00; 10 | } 11 | a.post_no { 12 | color: #800000; 13 | } 14 | div.post.reply { 15 | background: #f0e0d6; 16 | border-color: #d9bfb7; 17 | } 18 | div.post.reply.highlighted { 19 | background: #f0c0b0; 20 | border-color: #d9bfb7; 21 | } 22 | div.post.reply div.body a { 23 | color: navy; 24 | } 25 | .intro span.subject { 26 | color: #d00; 27 | } 28 | form table tr th { 29 | background: #EA8; 30 | } 31 | div.ban h2 { 32 | background: #FCA; 33 | color: inherit; 34 | } 35 | div.ban { 36 | border-color: #800; 37 | } 38 | div.ban p { 39 | color: black; 40 | } 41 | div.pages { 42 | background: #F0E0D6; 43 | border-color: #D9BFB7; 44 | } 45 | div.pages a.selected { 46 | color: #800; 47 | } 48 | hr { 49 | border-color: #D9BFB7; 50 | } 51 | div.boardlist { 52 | color: #B86; 53 | } 54 | div.boardlist a { 55 | color: #800; 56 | } 57 | table.modlog tr th { 58 | background: #EA8; 59 | } 60 | 61 | /* options.js */ 62 | #options_div, #alert_div { 63 | background: #f0e0d6; 64 | } 65 | 66 | .desktop-style div.boardlist:nth-child(1) { 67 | background-color: #F0E0D6; 68 | } 69 | -------------------------------------------------------------------------------- /templates/attention_bar.html: -------------------------------------------------------------------------------- 1 | {% if config.attention_bar %} 2 |
3 |
4 | 5 |
6 | {% endif %} 7 | -------------------------------------------------------------------------------- /templates/boardlist.html: -------------------------------------------------------------------------------- 1 | {% macro boardlist(list, root, boards) %} 2 | {% import _self as macros %} 3 | {% for key, board in list %} 4 | {% if board is iterable %} 5 | [{{ macros.boardlist(board, root, boards) }}] 6 | {% else %} 7 | {% if key matches '/^\\d+$/' and loop.index0 == key %} 8 | {{ board }} 9 | {% else %} 10 | {{ key }} 11 | {% endif %} 12 | {% if not loop.last %}/{% endif %} 13 | {% endif %} 14 | {% endfor %} 15 | {% endmacro %} 16 | 17 | {% import _self as macros %} 18 | 19 |
20 | {% if config.boardlist_wrap_bracket %}[{% endif %} 21 | {{ macros.boardlist(config.boards, mod ? '?/' : config.root, boardlist) }} 22 | {% if config.boardlist_wrap_bracket %}]{% endif %} 23 |
24 | {% if not bottom %}{% endif %} -------------------------------------------------------------------------------- /templates/error.html: -------------------------------------------------------------------------------- 1 |
2 |

{{ message }}

3 | {% if board %} 4 |

5 | 6 | {% trans 'Go back' %} 7 | 8 |

9 | {% endif %} 10 |
11 | {% if debug and config.debug %} 12 |
13 |

{% trans 'Error information' %}

14 |
15 | 		{{ debug }}
16 | 	
17 |
18 | {% endif %} -------------------------------------------------------------------------------- /templates/fileboard.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 14 | {{ body }} 15 |
  4 | {% trans %}No.{% endtrans %} 5 | {% trans %}Name{% endtrans %} 6 | {% trans %}File{% endtrans %} 7 | {% trans %}Tag{% endtrans %} 8 | {% trans %}Subject{% endtrans %} 9 | {% trans %}Size{% endtrans %} 10 | {% trans %}Date{% endtrans %} 11 | {% trans %}Replies{% endtrans %} 12 |   13 |
16 | -------------------------------------------------------------------------------- /templates/mod/board.html: -------------------------------------------------------------------------------- 1 | {% if new %} 2 | {% set action = '?/new-board' %} 3 | {% else %} 4 | {% set action = '?/edit/' ~ board.uri %} 5 | {% endif %} 6 | 7 |
8 | 9 | 10 | 11 | 12 | 19 | 20 | 21 | 22 | 25 | 26 | 27 | 28 | 31 | 32 |
{% trans 'URI' %} 13 | {% if not new %} 14 | {{ config.board_abbreviation|format(board.uri) }} 15 | {% else %} 16 | // 17 | {% endif %} 18 |
{% trans 'Title' %} 23 | 24 |
{% trans 'Subtitle' %} 29 | 30 |
33 | 34 |
    35 | {% if new %} 36 |
  • 37 | {% else %} 38 |
  • 39 | {% if mod|hasPermission(config.mod.deleteboard) %} 40 |
  • 41 | {% endif %} 42 | {% endif %} 43 |
44 |
45 | 46 | -------------------------------------------------------------------------------- /templates/mod/confirm.html: -------------------------------------------------------------------------------- 1 |

2 | {% trans 'Are you sure you want to do that?' %} {% trans 'Click to proceed to' %} ?/{{ request }}. 3 |

4 |

5 | {% trans 'You are probably seeing this message because Javascript being disabled. This is a necessary security measure to prevent CSRF attacks.' %} 6 |

7 | 8 | -------------------------------------------------------------------------------- /templates/mod/debug/apc.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | {% for var in cached_vars if (var.ctime is defined ? var.ctime : var.creation_time) + var.ttl > time() %} 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | {% endfor %} 18 |
KeyHitsCreatedExpiresSize
{{ var.key is defined ? var.key : var.info }}{{ var.nhits is defined ? var.nhits : var.num_hits }}{{ (var.ctime is defined ? var.ctime : var.creation_time)|ago }} ago{{ ((var.ctime is defined ? var.ctime : var.creation_time) + var.ttl)|until }} (ttl: {{ (time() + var.ttl)|until }}){{ var.mem_size }} bytes
-------------------------------------------------------------------------------- /templates/mod/debug/sql.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 5 |
6 | 7 | {% if result == 'empty' %} 8 |

Query successful (no result).

9 | {% elseif result %} 10 | 11 | 12 | {% for key in keys %} 13 | 14 | {% endfor %} 15 | 16 | {% for row in result %} 17 | 18 | {% for col in row %} 19 | 26 | {% endfor %} 27 | 28 | {% endfor %} 29 |
{{ key | e }}
20 | {% if col != null %} 21 | {{ col | e }} 22 | {% else %} 23 | NULL 24 | {% endif %} 25 |
30 | {% elseif error %} 31 |

{{ error | e }}

32 | {% endif %} 33 | -------------------------------------------------------------------------------- /templates/mod/edit_page.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 | 5 | 6 | 13 | 20 | 26 |
{% trans %}Markup method{% endtrans %} 7 | {% set allowed_html = config.allowed_html %} 8 | {% trans %}

"markdown" is provided by parsedown. Note: images disabled.

9 |

"html" allows the following tags:
{{ allowed_html }}

10 |

"infinity" is the same as what is used in posts.

11 |

This page will not convert between formats,
choose it once or do the conversion yourself!

{% endtrans %} 12 |
14 | 19 |
{% trans %}Page content{% endtrans %} 21 |
22 | {% trans %}Page will appear at:{% endtrans %} 23 | {% if board %} {{ config.domain }}/{{ board.uri }}/{{ page.name }}.html 24 | {% else %} {{ config.site }}/{{ page.name }}.html 25 | {% endif %}
27 | 28 |
29 |
30 | -------------------------------------------------------------------------------- /templates/mod/inbox.html: -------------------------------------------------------------------------------- 1 | {% if messages|length == 0 %} 2 |

({% trans 'No private messages for you.' %})

3 | {% else %} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | {% for message in messages %} 12 | 13 | 18 | 25 | 28 | 33 | 34 | {% endfor %} 35 |
{% trans 'ID' %}{% trans 'From' %}{% trans 'Date' %}{% trans 'Message snippet' %}
14 | 15 | {{ message.id }} 16 | 17 | 19 | {% if message.username %} 20 | {{ message.username|e }} 21 | {% else %} 22 | {% trans 'deleted?' %} 23 | {% endif %} 24 | 26 | {{ message.time|strftime(config.post_date) }} 27 | 29 | 30 | {{ message.snippet }} 31 | 32 |
36 | {% endif %} 37 | -------------------------------------------------------------------------------- /templates/mod/login.html: -------------------------------------------------------------------------------- 1 | {% if error %}

{{ error }}

{% endif %} 2 |
3 | 4 | 5 | 8 | 11 | 12 | 13 | 16 | 19 | 20 | 21 | 22 | 25 |
6 | {% trans 'Username' %} 7 | 9 | 10 |
14 | {% trans 'Password' %} 15 | 17 | 18 |
23 | 24 |
26 |
27 | -------------------------------------------------------------------------------- /templates/mod/move.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 5 | 8 | 11 | 12 | 13 | 16 | 20 | 21 | 22 | 23 | 35 | 36 |
6 | {% trans 'Thread ID' %} 7 | 9 | >>>{{ config.board_abbreviation|format(board) }}{{ post }} 10 |
14 | {% trans 'Leave shadow thread' %} 15 | 17 | 18 | ({% trans 'locks thread; replies to it with a link.' %}) 19 |
{% trans 'Target board' %} 24 |
    25 | {% for targetboard in boards if targetboard.uri != board %} 26 |
  • 27 | 28 | 31 |
  • 32 | {% endfor %} 33 |
34 |
37 | 38 |
    39 |
  • 40 |
41 |
42 | 43 | -------------------------------------------------------------------------------- /templates/mod/move_reply.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 5 | 8 | 11 | 12 | 13 | 14 | 26 | 28 | 29 | 30 | 34 | 35 |
6 | {% trans 'Post ID' %} 7 | 9 | >>>{{ config.board_abbreviation|format(board) }}{{ post }} 10 |
{% trans 'Target board' %} 15 |
    16 | {% for targetboard in boards %} 17 |
  • 18 | 19 | 22 |
  • 23 | {% endfor %} 24 |
25 |
27 |
{% trans 'Target thread' %} 31 |

If you do not want to make the post into a new thread, please specify the thread you want to move the reply to:

32 | 33 |
36 | 37 |
    38 |
  • 39 |
40 |
41 | 42 | -------------------------------------------------------------------------------- /templates/mod/new_pm.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 5 | 6 | {% if mod|hasPermission(config.mod.editusers) %} 7 | 8 | {% else %} 9 | 10 | {% endif %} 11 | 12 | 13 | 14 | 15 | 16 |
To{{ username|e }}{{ username|e }}
Message
17 | 18 |

19 |
20 | -------------------------------------------------------------------------------- /templates/mod/pm.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 5 | {% if username %} 6 | 7 | {% else %} 8 | 9 | {% endif %} 10 | 11 | {% if to != mod.id %} 12 | 13 | 14 | {% if to_username %} 15 | 16 | {% else %} 17 | 18 | {% endif %} 19 | 20 | {% endif %} 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |
{% trans 'From' %}{{ username|e }}{% trans 'deleted?' %}
To{{ to_username|e }}{% trans 'deleted?' %}
{% trans 'Date' %}{{ time|strftime(config.post_date) }} ({{ time|ago }} ago)
{% trans 'Message' %}{{ message }}
31 | 32 | 44 |
45 | -------------------------------------------------------------------------------- /templates/mod/rebuilt.html: -------------------------------------------------------------------------------- 1 |
2 |

{% trans 'Rebuilt' %}

3 |

4 | {% trans 'Go back and rebuild again' %}. 5 |

6 |
    7 | {% for log in logs %} 8 |
  • {{ log }}
  • 9 | {% endfor %} 10 |
11 |
12 | 13 | -------------------------------------------------------------------------------- /templates/mod/recent_posts.html: -------------------------------------------------------------------------------- 1 | {% if not posts|length %} 2 |

({% trans 'There are no active posts.' %})

3 | {% else %} 4 |

Viewing last {{ limit|e }} posts

5 |

View 25 | 50 | 100

6 | {% for post in posts %} 7 | {% if not post.thread %} 8 | {% set thread = post.id %} 9 | {% else %} 10 | {% set thread = post.thread %} 11 | {% endif %} 12 |

/{{ post.board }}/{{ post.id }}
13 | {{ post.built }} 14 |
15 | {% endfor %} 16 | {% endif %} 17 | Next {{ limit }} posts 18 | -------------------------------------------------------------------------------- /templates/mod/report.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | {% trans 'Board' %}: {{ config.board_abbreviation|format(report.board) }} 4 |
5 | {% trans 'Reason' %}: {{ report.reason }} 6 |
7 | {% trans 'Report date' %}: {{ report.time|strftime(config.post_date) }} 8 |
9 | {% if mod|hasPermission(config.mod.show_ip, report.board) %} 10 | {% trans 'Reported by' %}: {{ report.ip }} 11 |
12 | {% endif %} 13 | {% if mod|hasPermission(config.mod.report_dismiss, report.board) or mod|hasPermission(config.mod.report_dismiss_ip, report.board) %} 14 |
15 | {% if mod|hasPermission(config.mod.report_dismiss, report.board) %} 16 | Dismiss 17 | {% endif %} 18 | {% if mod|hasPermission(config.mod.report_dismiss_ip, report.board) %} 19 | {% if mod|hasPermission(config.mod.report_dismiss, report.board) %} 20 | | 21 | {% endif %} 22 | Dismiss+ 23 | {% endif %} 24 | {% endif %} 25 |
26 | 27 | -------------------------------------------------------------------------------- /templates/mod/reports.html: -------------------------------------------------------------------------------- 1 | {% if reports %} 2 | {{ reports }} 3 | {% else %} 4 |

({% trans 'There are no reports.' %})

5 | {% endif %} 6 | 7 | -------------------------------------------------------------------------------- /templates/mod/search_form.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 16 | 17 |
18 |

{% trans '(Search is case-insensitive and based on keywords. To match exact phrases, use "quotes". Use an asterisk (*) for wildcard.)' %}

-------------------------------------------------------------------------------- /templates/mod/theme_config.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | {% if not config %} 4 |

(No configuration required.)

5 | {% else %} 6 | 7 | {% for conf in theme.config %} 8 | 9 | 10 | 30 | 31 | {% endfor %} 32 |
{{ conf.title }} 11 | {% if conf.type == 'checkbox' %} 12 | 16 | {% else %} 17 | 25 | {% endif %} 26 | {% if conf.comment %} 27 | {{ conf.comment }} 28 | {% endif %} 29 |
33 | {% endif %} 34 |

35 | 36 |

37 |
38 | -------------------------------------------------------------------------------- /templates/mod/theme_installed.html: -------------------------------------------------------------------------------- 1 | {% if message %} 2 |
{{ message }}
3 | {% endif %} 4 | 5 | {% if result %} 6 |

{% trans 'Successfully installed and built theme.' %}

7 | {% endif %} 8 | 9 |

{% trans 'Go back to themes' %}.

10 | -------------------------------------------------------------------------------- /templates/mod/theme_rebuilt.html: -------------------------------------------------------------------------------- 1 |

{{ 'Successfully rebuilt the %s theme.'|trans|format(theme_name) }}

2 |

{% trans 'Go back to themes' %}.

3 | -------------------------------------------------------------------------------- /templates/page.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | {% include 'header.html' %} 9 | {{ title }} 10 | 11 | 12 | {% include "boardlist.html" %} 13 | 14 | {% if pm %}
You have an unread PM{% if pm.waiting > 0 %}, plus {{ pm.waiting }} more waiting{% endif %}.

{% endif %} 15 |
16 |

{{ title }}

17 |
18 | {% if subtitle %} 19 | {{ subtitle }} 20 | {% endif %} 21 | {% if mod and not hide_dashboard_link %}

{% trans %}Return to dashboard{% endtrans %}

{% endif %} 22 |
23 |
24 | {{ body }} 25 |
26 |
27 |

Powered by Tinyboard {{ config.version }} 28 |
Tinyboard Copyright © 2010-2019 Tinyboard Development Group 29 |
vichan Copyright © 2012-2016 vichan-devel

30 |
31 | 32 | 33 | -------------------------------------------------------------------------------- /templates/post/file_controls.html: -------------------------------------------------------------------------------- 1 | {% if post.files and mod %} 2 | 3 | {% if file.file != 'deleted' and mod|hasPermission(config.mod.deletefile, board.uri) %} 4 | {{ secure_link_confirm(config.mod.link_deletefile, 'Delete file'|trans, 'Are you sure you want to delete this file?'|trans, board.dir ~ 'deletefile/' ~ post.id ~ '/' ~ loop.index0 ) }}  5 | {% endif %} 6 | {% if file.file and file.file != 'deleted' and file.thumb != 'spoiler' and mod|hasPermission(config.mod.spoilerimage, board.uri) %} 7 | {{ secure_link_confirm(config.mod.link_spoilerimage, 'Spoiler file'|trans, 'Are you sure you want to spoiler this file?'|trans, board.dir ~ 'spoiler/' ~ post.id ~ '/' ~ loop.index0 ) }} 8 | {% endif %} 9 | 10 | {% endif %} 11 | -------------------------------------------------------------------------------- /templates/post/flag.html: -------------------------------------------------------------------------------- 1 | {% if config.display_flags and post.modifiers.flag %} 2 | {{ post.modifiers['flag alt'] | e('html_attr') }} 18 | {% endif %} 19 | -------------------------------------------------------------------------------- /templates/post/image_identification.html: -------------------------------------------------------------------------------- 1 | {% if file.thumb != 'file' and config.image_identification %} 2 | 3 | 4 | {% if config.image_identification_imgops %} 5 | ImgOps 6 | {% endif %} 7 | {% if config.image_identification_exif and file.file|extension == 'jpg' %} 8 | Exif 9 | {% endif %} 10 | {% if config.image_identification_google %} 11 | Google 12 | {% endif %} 13 | {% if config.image_identification_iqdb %} 14 | iqdb 15 | {% endif %} 16 | 17 | {% endif %} 18 | -------------------------------------------------------------------------------- /templates/post/ip.html: -------------------------------------------------------------------------------- 1 | {% if post.mod and post.mod|hasPermission(config.mod.show_ip, board.uri) %} 2 | [{{ post.ip }}] 3 | {% endif %} 4 | -------------------------------------------------------------------------------- /templates/post/name.html: -------------------------------------------------------------------------------- 1 | {% set capcode = post.capcode|capcode %} 2 | {% if post.email|length > 0 and (config.hide_sage!=true or post.email!='sage') and config.hide_email!=true %} 3 | {# start email #} 4 | 13 | {% endif %} 14 | {% if capcode %} 15 | {{ capcode.cap }} 16 | {% endif %} 17 | -------------------------------------------------------------------------------- /templates/post/poster_id.html: -------------------------------------------------------------------------------- 1 | {% if config.poster_ids %} 2 | {% if post.thread %} 3 | {{ post.ip|poster_id(post.thread) }} 4 | {% else %} 5 | {{ post.ip|poster_id(post.id) }} 6 | {% endif %} 7 | {% endif %} 8 | -------------------------------------------------------------------------------- /templates/post/subject.html: -------------------------------------------------------------------------------- 1 | {% if post.subject|length > 0 %} 2 | {# show subject #} 3 | {{ post.subject|bidi_cleanup }} 4 | {% endif %} 5 | 6 | -------------------------------------------------------------------------------- /templates/post/time.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /templates/post_reply.html: -------------------------------------------------------------------------------- 1 |
2 |

3 | {% if not index %}{% endif %} 4 | 5 | 12 | {% include 'post/poster_id.html' %}  13 | No. 14 | {{ post.id }} 15 |

16 | {% include 'post/fileinfo.html' %} 17 | {% include 'post/post_controls.html' %} 18 |
1 %}style="clear:both"{% endif %}> 19 | {% if index %}{{ post.body|truncate_body(post.link) }}{% else %}{{ post.body }}{% endif %} 20 | {% if post.modifiers['ban message'] %} 21 | {{ config.mod.ban_message|format(post.modifiers['ban message']) }} 22 | {% endif %} 23 |
24 |
25 |
26 | -------------------------------------------------------------------------------- /templates/posts.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE IF NOT EXISTS ``posts_{{ board }}`` ( 2 | `id` int(11) unsigned NOT NULL AUTO_INCREMENT, 3 | `thread` int(11) DEFAULT NULL, 4 | `subject` varchar(100) DEFAULT NULL, 5 | `email` varchar(30) DEFAULT NULL, 6 | `name` varchar(35) DEFAULT NULL, 7 | `trip` varchar(15) DEFAULT NULL, 8 | `capcode` varchar(50) DEFAULT NULL, 9 | `body` text NOT NULL, 10 | `body_nomarkup` text, 11 | `time` int(11) NOT NULL, 12 | `bump` int(11) DEFAULT NULL, 13 | `files` text DEFAULT NULL, 14 | `num_files` int(11) DEFAULT 0, 15 | `filehash` text CHARACTER SET ascii, 16 | `password` varchar(20) DEFAULT NULL, 17 | `ip` varchar(39) CHARACTER SET ascii NOT NULL, 18 | `sticky` int(1) NOT NULL, 19 | `locked` int(1) NOT NULL, 20 | `cycle` int(1) NOT NULL, 21 | `sage` int(1) NOT NULL, 22 | `embed` text, 23 | `slug` varchar(256) DEFAULT NULL, 24 | UNIQUE KEY `id` (`id`), 25 | KEY `thread_id` (`thread`,`id`), 26 | KEY `filehash` (`filehash`(40)), 27 | KEY `time` (`time`), 28 | KEY `ip` (`ip`), 29 | KEY `list_threads` (`thread`, `sticky`, `bump`) 30 | ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=1 ; 31 | 32 | -------------------------------------------------------------------------------- /templates/report_delete.html: -------------------------------------------------------------------------------- 1 |
2 | {% if config.allow_delete %} 3 |
4 | {% trans %}Delete Post{% endtrans %} [ 5 | ] 6 | 7 | 8 |
9 | {% endif %} 10 | 11 |
12 | 13 | 14 | 15 |
16 |
-------------------------------------------------------------------------------- /templates/search_form.html: -------------------------------------------------------------------------------- 1 |
2 |

{% trans %}Search{% endtrans %}

3 |
4 |

5 | 6 | 7 | 13 | 14 |

15 |
16 |

17 | {% trans %}Search is case-insensitive and based on keywords. To match exact phrases, use "quotes". Use an asterisk (*) for wildcard.

You may apply the following filters to your searches: id, thread, subject, and name. To apply a filter, simply add to your query, for example, name:Anonymous or subject:"Some Thread". Wildcards cannot be used in filters.{% endtrans %} 18 |

19 |
20 | -------------------------------------------------------------------------------- /templates/themes/basic/theme.php: -------------------------------------------------------------------------------- 1 | fetchAll(PDO::FETCH_ASSOC); 30 | 31 | return Element('themes/basic/index.html', Array( 32 | 'settings' => $settings, 33 | 'config' => $config, 34 | 'mod' => false, 35 | 'boardlist' => createBoardlist(), 36 | 'news' => $news 37 | )); 38 | } 39 | }; 40 | 41 | ?> 42 | -------------------------------------------------------------------------------- /templates/themes/basic/thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/templates/themes/basic/thumb.png -------------------------------------------------------------------------------- /templates/themes/catalog/index.rss: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | /{{ board.uri }}/ - {{ board.title|e }} 5 | {{ config.root }}{{ board.uri }}/ 6 | Live feed of new threads on the board /{{ board.uri }}/ - {{ board.title|e }}. 7 | 8 | {% for post in recent_posts %} 9 | 10 | {% if post.subject %}{{ post.subject|e }}{% else %}{{ post.body_nomarkup[:256]|remove_modifiers|e }}{% endif %} 11 | {{ config.root }}{{ board.uri }}/res/{{ post.id }}.html 12 | {{ config.root }}{{ board.uri }}/res/{{ post.id }}.html 13 | {{ config.root }}{{ board.uri }}/res/{{ post.id }}.html 14 | {{ post.pubdate }} 15 | {{ post.body }} ]]> 16 | 17 | {% endfor %} 18 | 19 | 20 | -------------------------------------------------------------------------------- /templates/themes/catalog/thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/templates/themes/catalog/thumb.png -------------------------------------------------------------------------------- /templates/themes/categories/frames.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 11 | {{ settings.title }} 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /templates/themes/categories/news.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {{ settings.title }} 6 | 7 | 8 | 9 | {% include "boardlist.html" %} 10 |
11 |

{{ settings.title }}

12 |
{{ settings.subtitle }}
13 |
14 | 15 |
16 | {% if news|length == 0 %} 17 |

{% trans %}(No news to show.){% endtrans %}

18 | {% else %} 19 | {% for entry in news %} 20 |

21 | {% if entry.subject %} 22 | {{ entry.subject }} 23 | {% else %} 24 | {% trans %}no subject{% endtrans %} 25 | {% endif %} 26 | — {% trans %}by{% endtrans %} {{ entry.name }} {% trans %}at{% endtrans %} {{ entry.time|strftime(config.post_date) }} 27 |

28 |

{{ entry.body }}

29 | {% endfor %} 30 | {% endif %} 31 |
32 | 33 |
34 |

Powered by Tinyboard {{ config.version }} 35 |
Tinyboard Copyright © 2010-2020 Tinyboard Development Group 36 |
vichan Copyright © 2012-2016 vichan-devel

37 |
38 | 39 | 40 | -------------------------------------------------------------------------------- /templates/themes/categories/sidebar.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {{ settings.title }} 6 | 7 | 14 | 15 | 16 | 17 |
18 | {{ settings.title }} 19 | 24 |
25 | 26 | {% for category, board in categories %} 27 |
28 | 29 | {{ category }} 30 | 31 | {% for board in boards %} 32 |
  • 33 | {{ board.title|e }} 34 |
  • 35 | {% endfor %} 36 |
    37 | {% endfor %} 38 | 39 | {% for category, links in config.custom_categories %} 40 |
    41 | 42 | {{ category }} 43 | 44 | {% for title, uri in links %} 45 |
  • 46 | {{ title }} 47 |
  • 48 | {% endfor %} 49 |
    50 | {% endfor %} 51 | 52 | 53 | -------------------------------------------------------------------------------- /templates/themes/categories/thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/templates/themes/categories/thumb.png -------------------------------------------------------------------------------- /templates/themes/frameset/frames.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 11 | {{ settings.title }} 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /templates/themes/frameset/info.php: -------------------------------------------------------------------------------- 1 | 'Site title', 18 | 'name' => 'title', 19 | 'type' => 'text' 20 | ); 21 | 22 | $theme['config'][] = Array( 23 | 'title' => 'Slogan', 24 | 'name' => 'subtitle', 25 | 'type' => 'text', 26 | 'comment' => '(optional)' 27 | ); 28 | 29 | $theme['config'][] = Array( 30 | 'title' => 'Main HTML file', 31 | 'name' => 'file_main', 32 | 'type' => 'text', 33 | 'default' => $config['file_index'], 34 | 'comment' => '(eg. "index.html")' 35 | ); 36 | 37 | $theme['config'][] = Array( 38 | 'title' => 'Sidebar file', 39 | 'name' => 'file_sidebar', 40 | 'type' => 'text', 41 | 'default' => 'sidebar.html', 42 | 'comment' => '(eg. "sidebar.html")' 43 | ); 44 | 45 | $theme['config'][] = Array( 46 | 'title' => 'News file', 47 | 'name' => 'file_news', 48 | 'type' => 'text', 49 | 'default' => 'news.html', 50 | 'comment' => '(eg. "news.html")' 51 | ); 52 | 53 | // Unique function name for building everything 54 | $theme['build_function'] = 'frameset_build'; 55 | ?> 56 | -------------------------------------------------------------------------------- /templates/themes/frameset/news.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {{ settings.title }} 6 | 7 | 8 | 9 |
    10 |

    {{ settings.title }}

    11 |
    {{ settings.subtitle }}
    12 |
    13 | 14 |
    15 | {% if news|length == 0 %} 16 |

    (No news to show.)

    17 | {% else %} 18 | {% for entry in news %} 19 |

    20 | {% if entry.subject %} 21 | {{ entry.subject }} 22 | {% else %} 23 | no subject 24 | {% endif %} 25 | — by {{ entry.name }} at {{ entry.time|strftime(config.post_date) }} 26 |

    27 |

    {{ entry.body }}

    28 | {% endfor %} 29 | {% endif %} 30 |
    31 | 32 |
    33 |

    Powered by Tinyboard {{ config.version }} 34 |
    Tinyboard Copyright © 2010-2020 Tinyboard Development Group 35 |
    vichan Copyright © 2012-2016 vichan-devel

    36 |
    37 | 38 | 39 | -------------------------------------------------------------------------------- /templates/themes/frameset/sidebar.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {{ settings.title }} 6 | 7 | 14 | 15 | 16 | 17 |
    18 | {{ settings.title }} 19 | 24 |
    25 | 26 |
    27 | Boards 28 | 37 |
    38 | 39 | 40 | -------------------------------------------------------------------------------- /templates/themes/frameset/thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/templates/themes/frameset/thumb.png -------------------------------------------------------------------------------- /templates/themes/public_banlist/info.php: -------------------------------------------------------------------------------- 1 | 'JSON feed file', 17 | 'name' => 'file_json', 18 | 'type' => 'text', 19 | 'default' => 'bans.json', 20 | 'comment' => '(eg. "bans.json")' 21 | ); 22 | 23 | $theme['config'][] = Array( 24 | 'title' => 'Main HTML file', 25 | 'name' => 'file_bans', 26 | 'type' => 'text', 27 | 'default' => 'bans.html', 28 | 'comment' => '(eg. "bans.html")' 29 | ); 30 | 31 | // Unique function name for building everything 32 | $theme['build_function'] = 'pbanlist_build'; 33 | ?> 34 | -------------------------------------------------------------------------------- /templates/themes/recent/recent.css: -------------------------------------------------------------------------------- 1 | .box-wrap { 2 | max-width: 670px; 3 | min-width: 332px; 4 | margin: 30px auto; 5 | overflow: auto; 6 | padding: 0; 7 | } 8 | .box { 9 | background: white; 10 | border: 1px solid #98E; 11 | width: 330px; 12 | margin: 8px 0; 13 | padding: 0; 14 | } 15 | .box ul { 16 | padding: 2px 15px; 17 | } 18 | .box ul li { 19 | list-style: none; 20 | margin: 0; 21 | } 22 | .box.left { 23 | background: #efe; 24 | color: #060; 25 | border: 1px solid #060; 26 | float: left; 27 | } 28 | .box.right { 29 | background: #eef; 30 | color: #006; 31 | border: 1px solid #006; 32 | float: right; 33 | } 34 | 35 | .box h2 { 36 | padding: 3px 7px; 37 | font-size: 12pt; 38 | } 39 | .box.left h2 { 40 | background: #9C6; 41 | color: #060; 42 | } 43 | .box.right h2 { 44 | background: #59A; 45 | color: white; 46 | } 47 | .box img { 48 | float: none; 49 | margin: 10px auto; 50 | } -------------------------------------------------------------------------------- /templates/themes/recent/recent_fs.css: -------------------------------------------------------------------------------- 1 | .box-wrap { 2 | max-width: 670px; 3 | min-width: 332px; 4 | margin: 30px auto; 5 | overflow: auto; 6 | padding: 0; 7 | } 8 | .box { 9 | background: white; 10 | border: 1px solid #98E; 11 | width: 330px; 12 | margin: 8px 0; 13 | padding: 0; 14 | } 15 | .box ul { 16 | padding: 2px 15px; 17 | } 18 | .box ul li { 19 | list-style: none; 20 | margin: 0; 21 | } 22 | .box.left { 23 | background: #FDF6AF; 24 | color: #9E914F; 25 | border: 1px solid #9E914F; 26 | float: left; 27 | } 28 | .box.right { 29 | background: #F2DCE5; 30 | color: #525; 31 | border: 1px solid #CA759E; 32 | float: right; 33 | } 34 | 35 | .box h2 { 36 | padding: 3px 7px; 37 | font-size: 12pt; 38 | } 39 | .box img { 40 | float: none; 41 | margin: 10px auto; 42 | } 43 | .box.left h2 { 44 | background: #FEE78F; 45 | color: #9E914F; 46 | } 47 | .box.right h2 { 48 | background: #EB81B4; 49 | color: #F8F8F8; 50 | } 51 | 52 | body { 53 | background: #F7F8F9; 54 | } 55 | header div.subtitle, h1 { 56 | color: #888A8C; 57 | } 58 | -------------------------------------------------------------------------------- /templates/themes/recent/thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/templates/themes/recent/thumb.png -------------------------------------------------------------------------------- /templates/themes/rss/rss.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | {{ settings.title }} 9 | Tinyboard {{ config.version }} 10 | {{ settings.base_url }}{{ config.root }}{{ settings.html }} 11 | {% for post in recent_posts %} 12 | 13 | {{ post.board_name }} 14 | 15 | 17 | {{ post.snippet }} 18 | 19 | ]]> 20 | 21 | {{ settings.base_url }}{{ post.link }} 22 | {{ settings.base_url }}{{ post.link }} 23 | 24 | {% endfor %} 25 | 26 | 27 | -------------------------------------------------------------------------------- /templates/themes/sitemap/sitemap.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | {% for board in boards %} 4 | 5 | {{ settings.url ~ (config.board_path|format(board)) ~ config.file_index }} 6 | 7 | {% endfor %} 8 | {% for board, thread_list in threads %} 9 | {% for thread in thread_list %} 10 | 11 | {{ settings.url ~ (config.board_path | format(board)) ~ config.dir.res ~ link_for(thread) }} 12 | {{ thread.lastmod | date('%Y-%m-%dT%H:%M:%S') }}Z 13 | {{ settings.changefreq }} 14 | 15 | {% endfor %} 16 | {% endfor %} 17 | 18 | -------------------------------------------------------------------------------- /templates/themes/sitemap/theme.php: -------------------------------------------------------------------------------- 1 | 0) { 19 | if ($last_gen = @filemtime($settings['path'])) { 20 | if (time() - $last_gen < (int)$settings['regen_time']) 21 | return; // Too soon 22 | } 23 | } 24 | } 25 | 26 | $boards = explode(' ', $settings['boards']); 27 | 28 | $threads = array(); 29 | 30 | foreach ($boards as $board) { 31 | $query = query(sprintf("SELECT `id`, `id` AS `thread_id`, `slug`, (SELECT `time` FROM ``posts_%s`` WHERE `thread` = `thread_id` OR `id` = `thread_id` ORDER BY `time` DESC LIMIT 1) AS `lastmod` FROM ``posts_%s`` WHERE `thread` IS NULL", $board, $board)) or error(db_error()); 32 | $threads[$board] = $query->fetchAll(PDO::FETCH_ASSOC); 33 | } 34 | 35 | file_write($settings['path'], Element('themes/sitemap/sitemap.xml', Array( 36 | 'settings' => $settings, 37 | 'config' => $config, 38 | 'threads' => $threads, 39 | 'boards' => $boards, 40 | ))); 41 | } 42 | -------------------------------------------------------------------------------- /templates/themes/sitemap/thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/templates/themes/sitemap/thumb.png -------------------------------------------------------------------------------- /templates/themes/ukko/thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/templates/themes/ukko/thumb.png -------------------------------------------------------------------------------- /tmp/cache/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/tmp/cache/.gitkeep -------------------------------------------------------------------------------- /tmp/tesseract/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Circlepuller/Tinyboard/b8f061816edae1c560859d9ea6b90515542a6f17/tmp/tesseract/.gitkeep -------------------------------------------------------------------------------- /tools/benchmark.php: -------------------------------------------------------------------------------- 1 | #!/usr/bin/php 2 | resize( 33 | $config['thumb_ext'] ? $config['thumb_ext'] : $extension, 34 | $config['thumb_width'], 35 | $config['thumb_height'] 36 | ); 37 | 38 | $thumb->to($out); 39 | $thumb->_destroy(); 40 | $image->destroy(); 41 | } 42 | $end = microtime(true); 43 | 44 | printf("Took %.2f seconds (%.2f/second; %.2f ms)\n", $end - $start, $rate = ($count / ($end - $start)), 1000 / $rate); 45 | 46 | unlink($out); 47 | } 48 | 49 | benchmark('gd'); 50 | if (extension_loaded('imagick')) { 51 | benchmark('imagick'); 52 | } else { 53 | echo "Imagick extension not loaded... skipping.\n"; 54 | } 55 | benchmark('convert'); 56 | benchmark('gm'); 57 | becnhmark('convert+gifsicle'); 58 | -------------------------------------------------------------------------------- /tools/i18n_compile.php: -------------------------------------------------------------------------------- 1 | #!/usr/bin/php 2 | $b) { 9 | $rules = @file_get_contents($b.'/rules.txt'); 10 | if ($rules && !empty(trim($rules))) { 11 | $query = prepare('INSERT INTO ``pages``(name, title, type, board, content) VALUES("rules", "Rules", "html", :board, :content)'); 12 | $query->bindValue(':board', $b); 13 | $query->bindValue(':content', $rules); 14 | $query->execute() or error(db_error($query)); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /tools/inc/cli.php: -------------------------------------------------------------------------------- 1 | -1, 45 | 'type' => ADMIN, 46 | 'username' => '?', 47 | 'boards' => Array('*') 48 | ); 49 | 50 | 51 | -------------------------------------------------------------------------------- /tools/inc/lib/jsgettext/PoeditString.php: -------------------------------------------------------------------------------- 1 | key = $key; 11 | $this->value = $value; 12 | $this->fuzzy = $fuzzy; 13 | $this->comments = (array)$comments; 14 | } 15 | 16 | public function __toString() { 17 | $str =''; 18 | foreach ($this->comments as $c) { 19 | $str .= "#: $c\n"; 20 | } 21 | if ($this->fuzzy) $str .= "#, fuzzy\n"; 22 | $str .= 'msgid "'.str_replace('"', '\\"', $this->key).'"' . "\n"; 23 | $str .= 'msgstr "'.str_replace('"', '\\"', $this->value).'"' . "\n"; 24 | $str .= "\n"; 25 | return $str; 26 | } 27 | } 28 | 29 | ?> -------------------------------------------------------------------------------- /tools/inc/lib/jsgettext/po2json.php: -------------------------------------------------------------------------------- 1 | null, 8 | '-i' => null, 9 | '-n' => 'l10n' 10 | ); 11 | $len = count($args); 12 | $i = 0; 13 | while ($i < $len) { 14 | if (preg_match('#^-[a-z]$#i', $args[$i])) { 15 | $options[$args[$i]] = isset($args[$i+1]) ? trim($args[$i+1]) : true; 16 | $i += 2; 17 | } 18 | else { 19 | $options[] = $args[$i]; 20 | $i++; 21 | } 22 | } 23 | return $options; 24 | } 25 | 26 | $options = buildOptions($argv); 27 | 28 | if (!file_exists($options['-i']) || !is_readable($options['-i'])) { 29 | die("Invalid input file. Make sure it exists and is readable."); 30 | } 31 | 32 | $poeditParser = new PoeditParser($options['-i']); 33 | $poeditParser->parse(); 34 | 35 | if ($poeditParser->toJSON($options['-o'], $options['-n'])) { 36 | $strings = count($poeditParser->getStrings()); 37 | echo "Successfully exported " . count($strings) . " strings.\n"; 38 | } 39 | else { 40 | echo "Cannor write to file '{$options['-o']}'.\n"; 41 | } 42 | ?> 43 | -------------------------------------------------------------------------------- /tools/recount-bumps.php: -------------------------------------------------------------------------------- 1 | fetch()) { 15 | $lc = prepare(sprintf('SELECT MAX(`time`) AS `aq` FROM ``posts_%s`` 16 | WHERE ((`thread` = :thread and 17 | `email` != "sage" ) OR `id` = :thread', $board)); 18 | 19 | $lc->bindValue(":thread", $val['id']); 20 | $lc->execute(); 21 | 22 | $f = $lc->fetch(); 23 | if ($val['bump'] != $f['aq']) { 24 | $query = prepare(sprintf("UPDATE ``posts_%s`` SET `bump`=:bump 25 | WHERE `id`=:id", $board)); 26 | $query->bindValue(":bump", $f['aq']); 27 | $query->bindValue(":id", $val['id']); 28 | echo("Thread $val[id] - to be $val[bump] -> $f[aq]\n"); 29 | } 30 | else { 31 | echo("Thread $val[id] ok\n"); 32 | } 33 | } 34 | 35 | echo("done\n"); 36 | -------------------------------------------------------------------------------- /tools/stats.php: -------------------------------------------------------------------------------- 1 | #!/usr/bin/php 2 | fetch()) { 20 | printf("%10s || ", $f['uri']); 21 | foreach ($variants as $iter) { 22 | list($term, $time) = $iter; 23 | $qq = query(sprintf("SELECT COUNT(*) as count FROM ``posts_%s`` WHERE time > %d", $f['uri'], time()-$time)); 24 | $c = $qq->fetch()['count']; 25 | 26 | printf("%8d | ", $c); 27 | } 28 | print("\n"); 29 | } 30 | --------------------------------------------------------------------------------