team fork

This commit is contained in:
Ben Harris 2019-07-22 13:05:43 -04:00
parent 0aaedaff5a
commit 476f2c231a
13 changed files with 265 additions and 229 deletions

View File

@ -1,69 +1,69 @@
<p><em>a command-line based blogging platform running on tilde.town</em></p> <p><em>a command-line based blogging platform running on tilde.team</em></p>
<p><code>ttbp</code> stands for &ldquo;tilde.town blogging platform&rdquo;, the original working name for <p><code>ttbp</code> stands for "tilde.team blogging platform", the original working name for
this project.</p> this project.</p>
<p><img src="http://tilde.town/~endorphant/ttbp/screenshots/ttbp-main.png" alt="ttbp main menu screenshot" /></p> <p><img src="screenshots/ttbp-main.png" alt="ttbp main menu screenshot" title="" /></p>
<p><img src="http://tilde.town/~endorphant/ttbp/screenshots/ttbp-entries.png" alt="ttbp entries view screenshot" /></p> <p><img src="screenshots/ttbp-entries.png" alt="ttbp entries view screenshot" title="" /></p>
<p><img src="http://tilde.town/~endorphant/ttbp/screenshots/ttbp-compose.png" alt="ttbp compose view screenshot" /></p> <p><img src="screenshots/ttbp-compose.png" alt="ttbp compose view screenshot" title="" /></p>
<p><code>ttbp</code> runs from the command line, providing a hub for writing personal blog <p><code>ttbp</code> runs from the command line, providing a hub for writing personal blog
posts and reading posts written by other users of tilde.town. it&rsquo;s a little bit posts and reading posts written by other users of tilde.team. it's a little bit
like livejournal or dreamwidth or tumblr. you can opt to publish your posts to a like livejournal or dreamwidth or tumblr. you can opt to publish your posts to a
public html file hosted on your tilde page, to tilde.town&rsquo;s gopher server, or public html file hosted on your tilde page, to tilde.team's gopher server, or
keep all your entries private to the tilde.town server.</p> keep all your entries private to the tilde.team server.</p>
<p>to use, run <code>feels</code> while logged in to tilde.town</p> <p>to use, run <code>feels</code> while logged in to tilde.team</p>
<p>this is a project that runs on tilde.town, so all users of this program are <p>this is a project that runs on tilde.team, so all users of this program are
expected to operate under the tilde.town <a href="http://tilde.town/wiki/conduct.html">code of expected to operate under the tilde.team <a href="http://tilde.team/wiki/code-of-conduct">code of
conduct</a>. content/personal issues should be conduct</a>. content/personal issues should be
worked out according to the CoC, with support from the <a href="http://tilde.town/wiki/administration/index.html">administrative worked out according to the CoC, with support from the <a href="https://tilde.team/wiki/code-of-conduct#9--contact-info">administrative
team</a> if needed.</p> team</a> if needed.</p>
<h3>QUICK START</h3> <h3>QUICK START</h3>
<p>no coding or html experience is necessary to get started. just log in to your <p>no coding or html experience is necessary to get started. just log in to your
tilde.town account and enter:</p> tilde.team account and enter:</p>
<p><code>feels</code></p> <p><code>feels</code></p>
<p>ttbp will ask you a few questions to get you started. after that, writing and <p>ttbp will ask you a few questions to get you started. after that, writing and
reading entries all happen within the program.</p> reading entries all happen within the program.</p>
<p>that&rsquo;s it!</p> <p>that's it!</p>
<h3>support</h3> <h3>support</h3>
<p>if you&rsquo;re having trouble getting started, or run into program errors or strange <p>if you're having trouble getting started, or run into program errors or strange
behavior, please send internal tilde.town mail to ~endorphant and i&rsquo;ll try to behavior, please ask on <a href="https://web.tilde.chat/?join=team">irc</a> or send a
mail to <a href="mailto:sudoers@tilde.team">sudoers@tilde.team</a> and we'll try to
sort things out!</p> sort things out!</p>
<p>there&rsquo;s also a function from the main menu that lets you send feedback/inquiries <p>there's also a function from the main menu that lets you send feedback/inquiries
to me directly; this uses internal tilde.town mail, which is what i&rsquo;ll respond to me directly</p>
to.</p>
<h3>writing entries</h3> <h3>writing entries</h3>
<p>entries are recorded as plaintext files in your <code>~/.ttbp/entries</code> directory. <p>entries are recorded as plaintext files in your <code>~/.ttbp/entries</code> directory.
<code>ttbp</code> will use your selected editor to open and write files; each day is its <code>ttbp</code> will use your selected editor to open and write files; each day is its
own entry, like a diary page. at midnight for whatever timezone you&rsquo;ve set for own entry, like a diary page. at midnight for whatever timezone you've set for
your user account on tilde.town, you&rsquo;ll get a fresh entry. if you don&rsquo;t write your user account on tilde.team, you'll get a fresh entry. if you don't write
any feels on a particular day, no entries will show up there.</p> any feels on a particular day, no entries will show up there.</p>
<p>when you save and quit the text editor, your entry will automatically propagate <p>when you save and quit the text editor, your entry will automatically propagate
to the global feels list; if you&rsquo;ve opted to publish your feels to html/gopher, to the global feels list; if you've opted to publish your feels to html/gopher,
those files will update immediately. you can always go back to the current day&rsquo;s those files will update immediately. you can always go back to the current day's
entry and edit/add as you&rsquo;d like, but older entries will not be available for entry and edit/add as you'd like, but older entries will not be available for
editing from <code>ttbp</code>.</p> editing from <code>ttbp</code>.</p>
<p><em>(since files are just stored as plaintext in your directory, it&rsquo;s possible to <p><em>(since files are just stored as plaintext in your directory, it's possible to
edit and move old entries directly from the command line. however, changing old edit and move old entries directly from the command line. however, changing old
entries might cause strange things to happen with timestamps. the main program entries might cause strange things to happen with timestamps. the main program
looks at the filename first for setting the date, then the last modified time to looks at the filename first for setting the date, then the last modified time to
sort recent posts. it expects YYYMMDD.txt as the filename; anything else won&rsquo;t sort recent posts. it expects YYYMMDD.txt as the filename; anything else won't
show up as a valid entry. yes, this means you can post things out of date order show up as a valid entry. yes, this means you can post things out of date order
by creating files with any date you want.)</em></p> by creating files with any date you want.)</em></p>
@ -77,34 +77,33 @@ in the feed but not render in a browser (but people can still read
them with view-source)</li> them with view-source)</li>
</ul> </ul>
<h3>reading other feels</h3> <h3>reading other feels</h3>
<p>the <code>browse global feels</code> feature shows the ten most recent entries that anyone <p>the <code>browse global feels</code> feature shows the ten most recent entries that anyone
has written on ttbp. this list is only accessible from within tilde.town, has written on ttbp. this list is only accessible from within tilde.team,
although individual entries may be posted to html or gopher.</p> although individual entries may be posted to html or gopher.</p>
<p>you can also pull up a list of a single user&rsquo;s feels through <code>check out your <p>you can also pull up a list of a single user's feels through <code>check out your
neighbors</code>, which displays all users who are writing on <code>ttbp</code> based on their neighbors</code>, which displays all users who are writing on <code>ttbp</code> based on their
most recently updated entry, and a link to their public html blog if they&rsquo;ve most recently updated entry, and a link to their public html blog if they've
opted to publish their posts.</p> opted to publish their posts.</p>
<p><strong>please note!</strong> entries written on <code>ttbp</code> should be considered sensitive, <p><strong>please note!</strong> entries written on <code>ttbp</code> should be considered sensitive,
private information, even if a particular user is publishing entries in a private information, even if a particular user is publishing entries in a
world-viewable way! please be respectful about having access to other people&rsquo;s world-viewable way! please be respectful about having access to other people's
feels, and do not copy/repeat any information without getting their explicit feels, and do not copy/repeat any information without getting their explicit
permission. tilde.town operates on a high level of mutual trust, and <code>ttbp</code> is permission. tilde.team operates on a high level of mutual trust, and <code>ttbp</code> is
designed to give individuals control over their content.</p> designed to give individuals control over their content.</p>
<h3>subscribing to users</h3> <h3>subscribing to users</h3>
<p>the <code>visit your subscriptions</code> feature lets you view recent entries from a list <p>the <code>visit your subscriptions</code> feature lets you view recent entries from a list
of users you&rsquo;ve subscribed to, as well as manage your subscription list. your of users you've subscribed to, as well as manage your subscription list. your
list is saved to <code>~/.ttbp/config/subs</code>, which gets automatically updated when list is saved to <code>~/.ttbp/config/subs</code>, which gets automatically updated when
you add or remove subscriptions from ttbp.</p> you add or remove subscriptions from ttbp.</p>
<p>your subscription list is private; this means no one other than you can see who <p>your subscription list is private; this means no one other than you can see who
you&rsquo;re following. subscription view only shows the 50 most recent entries from you're following. subscription view only shows the 50 most recent entries from
your subscribe list; if you want to see more entries from an individual, you your subscribe list; if you want to see more entries from an individual, you
can navigate to their entries in `check out your neighbors from the main can navigate to their entries in `check out your neighbors from the main
menu.</p> menu.</p>
@ -115,7 +114,7 @@ menu.</p>
your blog.</p> your blog.</p>
<p>if you opt to not publish, your entires will never be accessible from outside of <p>if you opt to not publish, your entires will never be accessible from outside of
the tilde.town network; other tilde.town users will still be able to read your the tilde.team network; other tilde.team users will still be able to read your
entries through the ttbp interface, or by directly accessing your entries through the ttbp interface, or by directly accessing your
<code>~/.ttbp/entries</code> directory.</p> <code>~/.ttbp/entries</code> directory.</p>
@ -124,14 +123,13 @@ directory.</p>
<p>if you opt to publish, the program creates a directory <code>~/.ttbp/www</code> where it <p>if you opt to publish, the program creates a directory <code>~/.ttbp/www</code> where it
stores all html files it generates, and symlinks this from your <code>~/public_html</code> stores all html files it generates, and symlinks this from your <code>~/public_html</code>
with your chosen blog directory. your blog will also be listed on the <a href="https://tilde.town/~endorphant/ttbp">main ttbp with your chosen blog directory. </p>
page</a>.</p>
<p>you can also opt to publish to gopher, and the program will automatically <p>you can also opt to publish to gopher, and the program will automatically
generate a gophermap of your feels.</p> generate a gophermap of your feels.</p>
<p>you can set publishing status on individual entries, or bury individual feels; <p>you can set publishing status on individual entries, or bury individual feels;
see &ldquo;data management&rdquo; below for details.</p> see "data management" below for details.</p>
<h3>data management</h3> <h3>data management</h3>
@ -140,42 +138,42 @@ these are all actions you can perform manually from the command line, but doing
them from within the program can help keep your files properly linked up.</p> them from within the program can help keep your files properly linked up.</p>
<ul> <ul>
<li><strong>read over feels</strong>&ndash;a list of all your entries, which you can open and <li><strong>read over feels</strong>--a list of all your entries, which you can open and
read like any other feel</li> read like any other feel</li>
<li><strong>modify feels publishing</strong>&ndash;this lets you toggle privacy on individual <li><strong>modify feels publishing</strong>--this lets you toggle privacy on individual
posts. entries marked <code>(nopub)</code> will not get written to html or gopher, posts. entries marked <code>(nopub)</code> will not get written to html or gopher,
and toggling them from this menu will immediately publish or unpublish and toggling them from this menu will immediately publish or unpublish
that entry (if you&rsquo;re not publishing your posts at all, these settings that entry (if you're not publishing your posts at all, these settings
won&rsquo;t matter, since your feels will never show up outside of tilde.town)</li> won't matter, since your feels will never show up outside of tilde.team)</li>
<li><strong>backup your feels</strong>&ndash;makes a .tar.gz of all your entries, saving one <li><strong>backup your feels</strong>--makes a .tar.gz of all your entries, saving one
copy to <code>~/.ttbp/backups/</code> with the current date, and a second copy to copy to <code>~/.ttbp/backups/</code> with the current date, and a second copy to
your home directory for safekeeping.</li> your home directory for safekeeping.</li>
<li><strong>import a feels backup</strong>&ndash;unpacks a backup file into your current feels <li><strong>import a feels backup</strong>--unpacks a backup file into your current feels
list. this tool checks the <code>~/.ttbp/backups</code> directory for archives, and list. this tool checks the <code>~/.ttbp/backups</code> directory for archives, and
expects a file created by the above backup utility. if it detects any file expects a file created by the above backup utility. if it detects any file
collisions, it will preserve your current live copy and leave the backup collisions, it will preserve your current live copy and leave the backup
verison in a temp directory, and notify you that this happened. also, any verison in a temp directory, and notify you that this happened. also, any
entries that were previously marked as <code>(nopub)</code> will retain their nopub entries that were previously marked as <code>(nopub)</code> will retain their nopub
status.</li> status.</li>
<li><strong>bury some feels</strong>&ndash;hides individual feels from viewing; entries are <li><strong>bury some feels</strong>--hides individual feels from viewing; entries are
moved to <code>~/.ttbp/buried</code> (and marked with a unique timestamp to prevent moved to <code>~/.ttbp/buried</code> (and marked with a unique timestamp to prevent
file collision) with permissions set to 600, meaning no one except you file collision) with permissions set to 600, meaning no one except you
will be able to open that file. these entries are also hidden from your will be able to open that file. these entries are also hidden from your
own view from <code>read over feels</code>, and you&rsquo;ll have to open the files from own view from <code>read over feels</code>, and you'll have to open the files from
the command line if you want to see them. this is intended to be a the command line if you want to see them. this is intended to be a
permament action, so you&rsquo;ll be asked to type the entry date once to load permament action, so you'll be asked to type the entry date once to load
the feel, then shown a preview of that feel, and then type the date again the feel, then shown a preview of that feel, and then type the date again
to confirm burying.</li> to confirm burying.</li>
<li><strong>delete feels by day</strong>&ndash;<em>permanently removes individual entries</em>, <li><strong>delete feels by day</strong>--<em>permanently removes individual entries</em>,
including deleting published html/gopher files if needed. this action is including deleting published html/gopher files if needed. this action is
not recoverable, unless you have a backup to restore; you&rsquo;ll be asked to not recoverable, unless you have a backup to restore; you'll be asked to
type the entry date once to load the feel, then shown a preview of that type the entry date once to load the feel, then shown a preview of that
feel, and then type the date again to confirm deletion.</li> feel, and then type the date again to confirm deletion.</li>
<li><strong>purge all feels</strong>&ndash;<em>permanently removes all feels</em>, including deleting <li><strong>purge all feels</strong>--<em>permanently removes all feels</em>, including deleting
all published html/gopher files if needed. this action is not recoverable, all published html/gopher files if needed. this action is not recoverable,
unless you have a backup to restore. you&rsquo;ll be asked to type a unless you have a backup to restore. you'll be asked to type a
one-time-use purge code to confirm this action.</li> one-time-use purge code to confirm this action.</li>
<li><strong>wipe feels account</strong>&ndash;<em>permanently removes all data associated with <li><strong>wipe feels account</strong>--<em>permanently removes all data associated with
feels</em>, including deleting any published hmtl/gopher files and removing feels</em>, including deleting any published hmtl/gopher files and removing
your <code>~/.ttbp</code> directory. any backups that you have in <code>~/.ttbp/backups</code> your <code>~/.ttbp</code> directory. any backups that you have in <code>~/.ttbp/backups</code>
will also be deleted with this action (which is why the backup function will also be deleted with this action (which is why the backup function
@ -183,25 +181,23 @@ makes a second copy for safekeeping in your home directory). you will no
longer show up in any lists as a user.</li> longer show up in any lists as a user.</li>
</ul> </ul>
<h3>settings</h3> <h3>settings</h3>
<p>the settings menu lets you change specific options for handling your feels and <p>the settings menu lets you change specific options for handling your feels and
using the interface.</p> using the interface.</p>
<ul> <ul>
<li><strong>editor</strong>&ndash;set your text editor</li> <li><strong>editor</strong>--set your text editor</li>
<li><strong>gopher</strong>&ndash;opt in or out of automatically posting to gopher</li> <li><strong>gopher</strong>--opt in or out of automatically posting to gopher</li>
<li><strong>post as nopub</strong>&ndash;set whether posts default to being published or not <li><strong>post as nopub</strong>--set whether posts default to being published or not
published (if you&rsquo;re not publishing your feels, this doesn&rsquo;t matter)</li> published (if you're not publishing your feels, this doesn't matter)</li>
<li><strong>publish dir</strong>&ndash;set the directory under you <code>public_html</code> where feels will be <li><strong>publish dir</strong>--set the directory under you <code>public_html</code> where feels will be
published (if you&rsquo;re not publishing your feels, this defaults to <code>None</code>)</li> published (if you're not publishing your feels, this defaults to <code>None</code>)</li>
<li><strong>publishing</strong>&ndash;opt in or out of automatically publishing entries to a <li><strong>publishing</strong>--opt in or out of automatically publishing entries to a
world-readable html page</li> world-readable html page</li>
<li><strong>rainbows</strong>&ndash;opt in or out of having multicolored menu text</li> <li><strong>rainbows</strong>--opt in or out of having multicolored menu text</li>
</ul> </ul>
<h3>changing your page layout</h3> <h3>changing your page layout</h3>
<p>you can modify how your blog looks by editing the stylesheet or header and <p>you can modify how your blog looks by editing the stylesheet or header and
@ -213,28 +209,24 @@ your ~/.ttbp directory entirely. <strong>you might want to back up your
<ul> <ul>
<li>to modify your stylesheet, edit your ~/.ttbp/config/style.css</li> <li>to modify your stylesheet, edit your ~/.ttbp/config/style.css</li>
<li>to modify the page header, edit your ~/.ttbp/config/header.txt <li>to modify the page header, edit your ~/.ttbp/config/header.txt
<ul> <ul>
<li>there&rsquo;s a place marked off in the default header where you can safely put <li>there's a place marked off in the default header where you can safely put
custom HTML elements!</li> custom HTML elements!</li>
</ul> </ul></li>
</li>
<li>to modify the page footer, edit your ~/.ttbp/config/footer.txt</li> <li>to modify the page footer, edit your ~/.ttbp/config/footer.txt</li>
</ul> </ul>
<h3>general tips/troubleshooting</h3> <h3>general tips/troubleshooting</h3>
<ul> <ul>
<li>if the date looks like it&rsquo;s ahead or behind, it&rsquo;s because you haven&rsquo;t set <li>if the date looks like it's ahead or behind, it's because you haven't set
your local timezone yet. here are some your local timezone yet. here are some
<a href="http://www.cyberciti.biz/faq/linux-unix-set-tz-environment-variable/">timezone setting instructions</a></li> <a href="http://www.cyberciti.biz/faq/linux-unix-set-tz-environment-variable/">timezone setting instructions</a></li>
<li>the feels burying tool will effectively clear your post for the day; you can <li>the feels burying tool will effectively clear your post for the day; you can
use this feature to start a fresh entry on a particular day by burying the use this feature to start a fresh entry on a particular day by burying the
current day&rsquo;s feels and then editing a new file</li> current day's feels and then editing a new file</li>
</ul> </ul>
<h3>future features</h3> <h3>future features</h3>
<p>these are a few ideas being kicked around, or under active development:</p> <p>these are a few ideas being kicked around, or under active development:</p>
@ -245,7 +237,6 @@ current day&rsquo;s feels and then editing a new file</li>
<li>buried feels browser</li> <li>buried feels browser</li>
</ul> </ul>
<p>other ideas are listed on github as <p>other ideas are listed on github as
<a href="https://github.com/modgethanc/ttbp/issues?q=is%3Aissue+is%3Aopen+label%3A" title="upcoming+features">upcoming features</a> or <a href="https://github.com/modgethanc/ttbp/issues?q=is%3Aissue+is%3Aopen+label%3A" title="feature+request">feature requests</a>!</p> <a href="https://github.com/modgethanc/ttbp/issues?q=is%3Aissue+is%3Aopen+label%3A" title="upcoming+features">upcoming features</a> or <a href="https://github.com/modgethanc/ttbp/issues?q=is%3Aissue+is%3Aopen+label%3A" title="feature+request">feature requests</a>!</p>
@ -260,17 +251,16 @@ instance of this yourself)</p>
<li><a href="https://pypi.python.org/pypi/six">six</a></li> <li><a href="https://pypi.python.org/pypi/six">six</a></li>
</ul> </ul>
<h3>contributing</h3> <h3>contributing</h3>
<p>please check out my <a href="https://github.com/modgethanc/ttbp/blob/master/.github/CONTRIBUTING.md">contributor <p>please check out my <a href="https://github.com/modgethanc/ttbp/blob/master/.github/CONTRIBUTING.md">contributor
guidelines</a> guidelines</a>
on github if you&rsquo;d like to get involved with development!</p> on github if you'd like to get involved with development!</p>
<p>if you find any bugs or strange behavior, please message me locally on tildemail <p>if you find any bugs or strange behavior, please message me locally on tildemail
or open a github issue and i&rsquo;ll get back to you as soon as i can.</p> or open a github issue and i'll get back to you as soon as i can.</p>
<p>if you&rsquo;re interested in helping with the code, please drop me some tildemail!</p> <p>if you're interested in helping with the code, please drop me some tildemail!</p>
<p>i accept tips for development work on <p>i accept tips for development work on
<a href="https://liberapay.com/modgethanc">liberapay</a></p> <a href="https://liberapay.com/modgethanc">liberapay</a></p>
@ -283,5 +273,5 @@ or open a github issue and i&rsquo;ll get back to you as soon as i can.</p>
<li>~vilmibm, packaging help and gopher support</li> <li>~vilmibm, packaging help and gopher support</li>
<li>~sanqui, the bug swatter</li> <li>~sanqui, the bug swatter</li>
<li>~sinacutie, for css updates</li> <li>~sinacutie, for css updates</li>
<li>~epicmorphism, for fixing pagination scrolling</li>
</ul> </ul>

View File

@ -1,33 +1,33 @@
*a command-line based blogging platform running on tilde.town* *a command-line based blogging platform running on tilde.team*
`ttbp` stands for "tilde.town blogging platform", the original working name for `ttbp` stands for "tilde.team blogging platform", the original working name for
this project. this project.
![ttbp main menu screenshot](http://tilde.town/~endorphant/ttbp/screenshots/ttbp-main.png) ![ttbp main menu screenshot](screenshots/ttbp-main.png)
![ttbp entries view screenshot](http://tilde.town/~endorphant/ttbp/screenshots/ttbp-entries.png) ![ttbp entries view screenshot](screenshots/ttbp-entries.png)
![ttbp compose view screenshot](http://tilde.town/~endorphant/ttbp/screenshots/ttbp-compose.png) ![ttbp compose view screenshot](screenshots/ttbp-compose.png)
`ttbp` runs from the command line, providing a hub for writing personal blog `ttbp` runs from the command line, providing a hub for writing personal blog
posts and reading posts written by other users of tilde.town. it's a little bit posts and reading posts written by other users of tilde.team. it's a little bit
like livejournal or dreamwidth or tumblr. you can opt to publish your posts to a like livejournal or dreamwidth or tumblr. you can opt to publish your posts to a
public html file hosted on your tilde page, to tilde.town's gopher server, or public html file hosted on your tilde page, to tilde.team's gopher server, or
keep all your entries private to the tilde.town server. keep all your entries private to the tilde.team server.
to use, run `feels` while logged in to tilde.town to use, run `feels` while logged in to tilde.team
this is a project that runs on tilde.town, so all users of this program are this is a project that runs on tilde.team, so all users of this program are
expected to operate under the tilde.town [code of expected to operate under the tilde.team [code of
conduct](http://tilde.town/wiki/conduct.html). content/personal issues should be conduct](http://tilde.team/wiki/code-of-conduct). content/personal issues should be
worked out according to the CoC, with support from the [administrative worked out according to the CoC, with support from the [administrative
team](http://tilde.town/wiki/administration/index.html) if needed. team](https://tilde.team/wiki/code-of-conduct#9--contact-info) if needed.
### QUICK START ### QUICK START
no coding or html experience is necessary to get started. just log in to your no coding or html experience is necessary to get started. just log in to your
tilde.town account and enter: tilde.team account and enter:
`feels` `feels`
@ -39,19 +39,19 @@ that's it!
### support ### support
if you're having trouble getting started, or run into program errors or strange if you're having trouble getting started, or run into program errors or strange
behavior, please send internal tilde.town mail to ~endorphant and i'll try to behavior, please ask on [irc](https://web.tilde.chat/?join=team) or send a
mail to [sudoers@tilde.team](mailto:sudoers@tilde.team) and we'll try to
sort things out! sort things out!
there's also a function from the main menu that lets you send feedback/inquiries there's also a function from the main menu that lets you send feedback/inquiries
to me directly; this uses internal tilde.town mail, which is what i'll respond to me directly
to.
### writing entries ### writing entries
entries are recorded as plaintext files in your `~/.ttbp/entries` directory. entries are recorded as plaintext files in your `~/.ttbp/entries` directory.
`ttbp` will use your selected editor to open and write files; each day is its `ttbp` will use your selected editor to open and write files; each day is its
own entry, like a diary page. at midnight for whatever timezone you've set for own entry, like a diary page. at midnight for whatever timezone you've set for
your user account on tilde.town, you'll get a fresh entry. if you don't write your user account on tilde.team, you'll get a fresh entry. if you don't write
any feels on a particular day, no entries will show up there. any feels on a particular day, no entries will show up there.
when you save and quit the text editor, your entry will automatically propagate when you save and quit the text editor, your entry will automatically propagate
@ -79,7 +79,7 @@ by creating files with any date you want.)*
### reading other feels ### reading other feels
the `browse global feels` feature shows the ten most recent entries that anyone the `browse global feels` feature shows the ten most recent entries that anyone
has written on ttbp. this list is only accessible from within tilde.town, has written on ttbp. this list is only accessible from within tilde.team,
although individual entries may be posted to html or gopher. although individual entries may be posted to html or gopher.
you can also pull up a list of a single user's feels through `check out your you can also pull up a list of a single user's feels through `check out your
@ -91,7 +91,7 @@ opted to publish their posts.
private information, even if a particular user is publishing entries in a private information, even if a particular user is publishing entries in a
world-viewable way! please be respectful about having access to other people's world-viewable way! please be respectful about having access to other people's
feels, and do not copy/repeat any information without getting their explicit feels, and do not copy/repeat any information without getting their explicit
permission. tilde.town operates on a high level of mutual trust, and `ttbp` is permission. tilde.team operates on a high level of mutual trust, and `ttbp` is
designed to give individuals control over their content. designed to give individuals control over their content.
### subscribing to users ### subscribing to users
@ -113,7 +113,7 @@ when you start your ttbp, you have the option of publishing or not publishing
your blog. your blog.
if you opt to not publish, your entires will never be accessible from outside of if you opt to not publish, your entires will never be accessible from outside of
the tilde.town network; other tilde.town users will still be able to read your the tilde.team network; other tilde.team users will still be able to read your
entries through the ttbp interface, or by directly accessing your entries through the ttbp interface, or by directly accessing your
`~/.ttbp/entries` directory. `~/.ttbp/entries` directory.
@ -122,8 +122,7 @@ directory.
if you opt to publish, the program creates a directory `~/.ttbp/www` where it if you opt to publish, the program creates a directory `~/.ttbp/www` where it
stores all html files it generates, and symlinks this from your `~/public_html` stores all html files it generates, and symlinks this from your `~/public_html`
with your chosen blog directory. your blog will also be listed on the [main ttbp with your chosen blog directory.
page](https://tilde.town/~endorphant/ttbp).
you can also opt to publish to gopher, and the program will automatically you can also opt to publish to gopher, and the program will automatically
generate a gophermap of your feels. generate a gophermap of your feels.
@ -143,7 +142,7 @@ them from within the program can help keep your files properly linked up.
posts. entries marked `(nopub)` will not get written to html or gopher, posts. entries marked `(nopub)` will not get written to html or gopher,
and toggling them from this menu will immediately publish or unpublish and toggling them from this menu will immediately publish or unpublish
that entry (if you're not publishing your posts at all, these settings that entry (if you're not publishing your posts at all, these settings
won't matter, since your feels will never show up outside of tilde.town) won't matter, since your feels will never show up outside of tilde.team)
* **backup your feels**--makes a .tar.gz of all your entries, saving one * **backup your feels**--makes a .tar.gz of all your entries, saving one
copy to `~/.ttbp/backups/` with the current date, and a second copy to copy to `~/.ttbp/backups/` with the current date, and a second copy to
your home directory for safekeeping. your home directory for safekeeping.

View File

@ -1,35 +1,45 @@
<h1>FEELS MANUAL</h1> <h1>FEELS MANUAL</h1>
<p><code>ttbp</code> stands for "tilde.town blogging platform", the original working name for
<p><code>ttbp</code> stands for "tilde.team blogging platform", the original working name for
this project. the complete codebase is available on this project. the complete codebase is available on
<a href="https://github.com/modgethanc/ttbp">github</a>.</p> <a href="https://tildegit.org/team/ttbp">tildegit</a>.</p>
<p><code>ttbp</code> runs from the command line, providing a hub for writing personal blog <p><code>ttbp</code> runs from the command line, providing a hub for writing personal blog
posts and reading posts written by other users of tilde.town. it's a little bit posts and reading posts written by other users of tilde.team. it's a little bit
like livejournal or dreamwidth or tumblr. you can opt to publish your posts to a like livejournal or dreamwidth or tumblr. you can opt to publish your posts to a
public html file hosted on your tilde page, to tilde.town's gopher server, or public html file hosted on your tilde page, to tilde.team's gopher server, or
keep all your entries private to the tilde.town server.</p> keep all your entries private to the tilde.team server.</p>
<p>this is a project that runs on tilde.town, so all users of this program are
expected to operate under the tilde.town <a href="http://tilde.town/wiki/conduct.html">code of <p>this is a project that runs on tilde.team, so all users of this program are
expected to operate under the tilde.team <a href="http://tilde.team/wiki/code-of-conduct">code of
conduct</a>. content/personal issues should be conduct</a>. content/personal issues should be
worked out according to the CoC, with support from the <a href="http://tilde.town/wiki/administration/index.html">administrative worked out according to the CoC, with support from the <a href="https://tilde.team/wiki/code-of-conduct#9--contact-info">administrative
team</a> if needed.</p> team</a> if needed.</p>
<h3>support</h3> <h3>support</h3>
<p>if you're having trouble getting started, or run into program errors or strange <p>if you're having trouble getting started, or run into program errors or strange
behavior, please send internal tilde.town mail to ~endorphant and i'll try to behavior, please ask on <a href="https://web.tilde.chat/?join=team">#team</a> or send a mail
to <a href="mailto:sudoers@tilde.team">sudoers@tilde.team</a> and we'll try to
sort things out!</p> sort things out!</p>
<p>there's also a function from the main menu that lets you send feedback/inquiries <p>there's also a function from the main menu that lets you send feedback/inquiries
to me directly; this uses internal tilde.town mail, which is what i'll respond to us directly</p>
to.</p>
<h3>writing entries</h3> <h3>writing entries</h3>
<p>entries are recorded as plaintext files in your <code>~/.ttbp/entries</code> directory. <p>entries are recorded as plaintext files in your <code>~/.ttbp/entries</code> directory.
<code>ttbp</code> will use your selected editor to open and write files; each day is its <code>ttbp</code> will use your selected editor to open and write files; each day is its
own entry, like a diary page. at midnight for whatever timezone you've set for own entry, like a diary page. at midnight for whatever timezone you've set for
your user account on tilde.town, you'll get a fresh entry. if you don't write your user account on tilde.team, you'll get a fresh entry. if you don't write
any feels on a particular day, no entries will show up there.</p> any feels on a particular day, no entries will show up there.</p>
<p>when you save and quit the text editor, your entry will automatically propagate <p>when you save and quit the text editor, your entry will automatically propagate
to the global feels list; if you've opted to publish your feels to html/gopher, to the global feels list; if you've opted to publish your feels to html/gopher,
those files will update immediately. you can always go back to the current day's those files will update immediately. you can always go back to the current day's
entry and edit/add as you'd like, but older entries will not be available for entry and edit/add as you'd like, but older entries will not be available for
editing from <code>ttbp</code>.</p> editing from <code>ttbp</code>.</p>
<p><em>(since files are just stored as plaintext in your directory, it's possible to <p><em>(since files are just stored as plaintext in your directory, it's possible to
edit and move old entries directly from the command line. however, changing old edit and move old entries directly from the command line. however, changing old
entries might cause strange things to happen with timestamps. the main program entries might cause strange things to happen with timestamps. the main program
@ -37,134 +47,164 @@ looks at the filename first for setting the date, then the last modified time to
sort recent posts. it expects YYYMMDD.txt as the filename; anything else won't sort recent posts. it expects YYYMMDD.txt as the filename; anything else won't
show up as a valid entry. yes, this means you can post things out of date order show up as a valid entry. yes, this means you can post things out of date order
by creating files with any date you want.)</em></p> by creating files with any date you want.)</em></p>
<h4>general entry-writing notes</h4> <h4>general entry-writing notes</h4>
<ul> <ul>
<li>you can use <a href="https://daringfireball.net/projects/markdown/syntax">markdown</a></li> <li>you can use <a href="https://daringfireball.net/projects/markdown/syntax">markdown</a></li>
<li>you can use html</li> <li>you can use html</li>
<li>you can also put things between <code>&lt;!-- comments --&gt;</code> to have them show up <li>you can also put things between <code>&lt;!-- comments --&gt;</code> to have them show up
in the feed but not render in a browser (but people can still read them with in the feed but not render in a browser (but people can still read them with
view-source)</li> view-source)</li>
</ul> </ul>
<h3>reading other feels</h3> <h3>reading other feels</h3>
<p>the <code>browse global feels</code> feature shows the ten most recent entries that anyone <p>the <code>browse global feels</code> feature shows the ten most recent entries that anyone
has written on ttbp. this list is only accessible from within tilde.town, has written on ttbp. this list is only accessible from within tilde.team,
although individual entries may be posted to html or gopher.</p> although individual entries may be posted to html or gopher.</p>
<p>you can also pull up a list of a single user's feels through <code>check out your <p>you can also pull up a list of a single user's feels through <code>check out your
neighbors</code>, which displays all users who are writing on <code>ttbp</code> based on their neighbors</code>, which displays all users who are writing on <code>ttbp</code> based on their
most recently updated entry, and a link to their public html blog if they've most recently updated entry, and a link to their public html blog if they've
opted to publish their posts.</p> opted to publish their posts.</p>
<p><strong>please note!</strong> entries written on <code>ttbp</code> should be considered sensitive, <p><strong>please note!</strong> entries written on <code>ttbp</code> should be considered sensitive,
private information, even if a particular user is publishing entries in a private information, even if a particular user is publishing entries in a
world-viewable way! please be respectful about having access to other people's world-viewable way! please be respectful about having access to other people's
feels, and do not copy/repeat any information without getting their explicit feels, and do not copy/repeat any information without getting their explicit
permission. tilde.town operates on a high level of mutual trust, and <code>ttbp</code> is permission. tilde.team operates on a high level of mutual trust, and <code>ttbp</code> is
designed to give individuals control over their content.</p> designed to give individuals control over their content.</p>
<h3>privacy</h3> <h3>privacy</h3>
<p>when you start your ttbp, you have the option of publishing or not publishing <p>when you start your ttbp, you have the option of publishing or not publishing
your blog.</p> your blog.</p>
<p>if you opt to not publish, your entires will never be accessible from outside of <p>if you opt to not publish, your entires will never be accessible from outside of
the tilde.town network; other tilde.town users will still be able to read your the tilde.team network; other tilde.team users will still be able to read your
entries through the ttbp interface, or by directly accessing your entries through the ttbp interface, or by directly accessing your
<code>~/.ttbp/entries</code> directory.</p> <code>~/.ttbp/entries</code> directory.</p>
<p>if you want to further protect your entries, you can <code>chmod 700</code> your entries <p>if you want to further protect your entries, you can <code>chmod 700</code> your entries
directory.</p> directory.</p>
<p>if you opt to publish, the program creates a directory <code>~/.ttbp/www</code> where it <p>if you opt to publish, the program creates a directory <code>~/.ttbp/www</code> where it
stores all html files it generates, and symlinks this from your <code>~/public_html</code> stores all html files it generates, and symlinks this from your <code>~/public_html</code>
with your chosen blog directory. your blog will also be listed on the <a href="https://tilde.town/~endorphant/ttbp">main ttbp with your chosen blog directory. your blog will also be listed on the <a href="https://tilde.team/~ben/ttbp">main ttbp
page</a>.</p> page</a>.</p>
<p>you can also opt to publish to gopher, and the program will automatically <p>you can also opt to publish to gopher, and the program will automatically
generate a gophermap of your feels.</p> generate a gophermap of your feels.</p>
<p>you can set publishing status on individual entries, or bury individual feels; <p>you can set publishing status on individual entries, or bury individual feels;
see "data management" below for details.</p> see "data management" below for details.</p>
<h3>data management</h3> <h3>data management</h3>
<p>the <code>manage your feels</code> menu provides several tools for organizing your feels. <p>the <code>manage your feels</code> menu provides several tools for organizing your feels.
these are all actions you can perform manually from the command line, but doing these are all actions you can perform manually from the command line, but doing
them from within the program can help keep your files properly linked up.</p> them from within the program can help keep your files properly linked up.</p>
<ul> <ul>
<li><strong>read over feels</strong>--a list of all your entries, which you can open and <li><strong>read over feels</strong>--a list of all your entries, which you can open and
read like any other feel</li> read like any other feel</li>
<li><strong>modify feels publishing</strong>--this lets you toggle privacy on individual <li><strong>modify feels publishing</strong>--this lets you toggle privacy on individual
posts. entries marked <code>(nopub)</code> will not get written to html or gopher, posts. entries marked <code>(nopub)</code> will not get written to html or gopher,
and toggling them from this menu will immediately publish or unpublish and toggling them from this menu will immediately publish or unpublish
that entry (if you're not publishing your posts at all, these settings that entry (if you're not publishing your posts at all, these settings
won't matter, since your feels will never show up outside of tilde.town)</li> won't matter, since your feels will never show up outside of tilde.team)</li>
<li><strong>backup your feels</strong>--makes a .tar.gz of all your entries, saving one <li><strong>backup your feels</strong>--makes a .tar.gz of all your entries, saving one
copy to <code>~/.ttbp/backups/</code> with the current date, and a second copy to copy to <code>~/.ttbp/backups/</code> with the current date, and a second copy to
your home directory for safekeeping.</li> your home directory for safekeeping.</li>
<li><strong>import a feels backup</strong>--unpacks a backup file into your current feels <li><strong>import a feels backup</strong>--unpacks a backup file into your current feels
list. this tool checks the <code>~/.ttbp/backups</code> directory for archives, and list. this tool checks the <code>~/.ttbp/backups</code> directory for archives, and
expects a file created by the above backup utility. if it detects any file expects a file created by the above backup utility. if it detects any file
collisions, it will preserve your current live copy and leave the backup collisions, it will preserve your current live copy and leave the backup
verison in a temp directory, and notify you that this happened. also, any verison in a temp directory, and notify you that this happened. also, any
entries that were previously marked as <code>(nopub)</code> will retain their nopub entries that were previously marked as <code>(nopub)</code> will retain their nopub
status.</li> status.</li>
<li><strong>bury some feels</strong>--hides individual feels from viewing; entries are <li><strong>bury some feels</strong>--hides individual feels from viewing; entries are
moved to <code>~/.ttbp/buried</code> (and marked with a unique timestamp to prevent moved to <code>~/.ttbp/buried</code> (and marked with a unique timestamp to prevent
file collision) with permissions set to 600, meaning no one except you file collision) with permissions set to 600, meaning no one except you
will be able to open that file. these entries are also hidden from your will be able to open that file. these entries are also hidden from your
own view from <code>read over feels</code>, and you'll have to open the files from own view from <code>read over feels</code>, and you'll have to open the files from
the command line if you want to see them. this is intended to be a the command line if you want to see them. this is intended to be a
permament action, so you'll be asked to type the entry date once to load permament action, so you'll be asked to type the entry date once to load
the feel, then shown a preview of that feel, and then type the date again the feel, then shown a preview of that feel, and then type the date again
to confirm burying.</li> to confirm burying.</li>
<li><strong>delete feels by day</strong>--<em>permanently removes individual entries</em>, <li><strong>delete feels by day</strong>--<em>permanently removes individual entries</em>,
including deleting published html/gopher files if needed. this action is including deleting published html/gopher files if needed. this action is
not recoverable, unless you have a backup to restore; you'll be asked to not recoverable, unless you have a backup to restore; you'll be asked to
type the entry date once to load the feel, then shown a preview of that type the entry date once to load the feel, then shown a preview of that
feel, and then type the date again to confirm deletion.</li> feel, and then type the date again to confirm deletion.</li>
<li><strong>purge all feels</strong>--<em>permanently removes all feels</em>, including deleting <li><strong>purge all feels</strong>--<em>permanently removes all feels</em>, including deleting
all published html/gopher files if needed. this action is not recoverable, all published html/gopher files if needed. this action is not recoverable,
unless you have a backup to restore. you'll be asked to type a unless you have a backup to restore. you'll be asked to type a
one-time-use purge code to confirm this action.</li> one-time-use purge code to confirm this action.</li>
<li><strong>wipe feels account</strong>--<em>permanently removes all data associated with <li><strong>wipe feels account</strong>--<em>permanently removes all data associated with
feels</em>, including deleting any published hmtl/gopher files and removing feels</em>, including deleting any published hmtl/gopher files and removing
your <code>~/.ttbp</code> directory. any backups that you have in <code>~/.ttbp/backups</code> your <code>~/.ttbp</code> directory. any backups that you have in <code>~/.ttbp/backups</code>
will also be deleted with this action (which is why the backup function will also be deleted with this action (which is why the backup function
makes a second copy for safekeeping in your home directory). you will no makes a second copy for safekeeping in your home directory). you will no
longer show up in any lists as a user.</li> longer show up in any lists as a user.</li>
</ul> </ul>
<h3>settings</h3> <h3>settings</h3>
<p>the settings menu lets you change specific options for handling your feels and <p>the settings menu lets you change specific options for handling your feels and
using the interface.</p> using the interface.</p>
<ul> <ul>
<li><strong>editor</strong>--set your text editor</li> <li><strong>editor</strong>--set your text editor</li>
<li><strong>gopher</strong>--opt in or out of automatically posting to gopher</li> <li><strong>gopher</strong>--opt in or out of automatically posting to gopher</li>
<li><strong>post as nopub</strong>--set whether posts default to being published or not <li><strong>post as nopub</strong>--set whether posts default to being published or not
published (if you're not publishing your feels, this doesn't matter)</li> published (if you're not publishing your feels, this doesn't matter)</li>
<li><strong>publish dir</strong>--set the directory under you <code>public_html</code> where feels will be <li><strong>publish dir</strong>--set the directory under you <code>public_html</code> where feels will be
published (if you're not publishing your feels, this defaults to <code>None</code>)</li> published (if you're not publishing your feels, this defaults to <code>None</code>)</li>
<li><strong>publishing</strong>--opt in or out of automatically publishing entries to a <li><strong>publishing</strong>--opt in or out of automatically publishing entries to a
world-readable html page</li> world-readable html page</li>
<li><strong>rainbows</strong>--opt in or out of having multicolored menu text</li> <li><strong>rainbows</strong>--opt in or out of having multicolored menu text</li>
</ul> </ul>
<h3>changing your page layout</h3> <h3>changing your page layout</h3>
<p>you can modify how your blog looks by editing the stylesheet or header and <p>you can modify how your blog looks by editing the stylesheet or header and
footer files. the program sets you up with basic default. if you break your page footer files. the program sets you up with basic default. if you break your page
somehow, you can force the program to regenerate your configuration by deleting somehow, you can force the program to regenerate your configuration by deleting
your ~/.ttbp directory entirely. <strong>you might want to back up your your ~/.ttbp directory entirely. <strong>you might want to back up your
~/.ttbp/entries directory before you do this.</strong></p> ~/.ttbp/entries directory before you do this.</strong></p>
<ul> <ul>
<li>to modify your stylesheet, edit your ~/.ttbp/config/style.css</li> <li>to modify your stylesheet, edit your ~/.ttbp/config/style.css</li>
<li>to modify the page header, edit your ~/.ttbp/config/header.txt</li> <li>to modify the page header, edit your ~/.ttbp/config/header.txt
<ul>
<li>there's a place marked off in the default header where you can safely put <li>there's a place marked off in the default header where you can safely put
custom HTML elements!</li> custom HTML elements!</li>
</ul></li>
<li>to modify the page footer, edit your ~/.ttbp/config/footer.txt</li> <li>to modify the page footer, edit your ~/.ttbp/config/footer.txt</li>
</ul> </ul>
<h3>general tips/troubleshooting</h3> <h3>general tips/troubleshooting</h3>
<ul> <ul>
<li>if the date looks like it's ahead or behind, it's because you haven't set <li>if the date looks like it's ahead or behind, it's because you haven't set
your local timezone yet. here are some your local timezone yet. here are some
<a href="http://www.cyberciti.biz/faq/linux-unix-set-tz-environment-variable/">timezone setting instructions</a></li> <a href="http://www.cyberciti.biz/faq/linux-unix-set-tz-environment-variable/">timezone setting instructions</a></li>
<li>the feels burying tool will effectively clear your post for the day; you can <li>the feels burying tool will effectively clear your post for the day; you can
use this feature to start a fresh entry on a particular day by burying the use this feature to start a fresh entry on a particular day by burying the
current day's feels and then editing a new file</li> current day's feels and then editing a new file</li>
</ul> </ul>
<h3>future features</h3> <h3>future features</h3>
<p>these are a few ideas being kicked around, or under active development:</p> <p>these are a few ideas being kicked around, or under active development:</p>
<ul> <ul>
<li>stylesheet/theme selector</li> <li>stylesheet/theme selector</li>
<li>better entry display within ttbp (currently just offloads to <code>less</code>)</li> <li>better entry display within ttbp (currently just offloads to <code>less</code>)</li>
<li>buried feels browser</li> <li>buried feels browser</li>
</ul> </ul>
<p>other ideas are listed on github as <p>other ideas are listed on github as
<a href="https://github.com/modgethanc/ttbp/issues?q=is%3Aissue+is%3Aopen+label%3A" title="upcoming+features">upcoming features</a> or <a href="https://github.com/modgethanc/ttbp/issues?q=is%3Aissue+is%3Aopen+label%3A" title="feature+request">feature requests</a>!</p> <a href="https://github.com/modgethanc/ttbp/issues?q=is%3Aissue+is%3Aopen+label%3A" title="upcoming+features">upcoming features</a> or <a href="https://github.com/modgethanc/ttbp/issues?q=is%3Aissue+is%3Aopen+label%3A" title="feature+request">feature requests</a>!</p>

View File

@ -1,37 +1,37 @@
# FEELS MANUAL # # FEELS MANUAL
`ttbp` stands for "tilde.town blogging platform", the original working name for `ttbp` stands for "tilde.team blogging platform", the original working name for
this project. the complete codebase is available on this project. the complete codebase is available on
[github](https://github.com/modgethanc/ttbp). [tildegit](https://tildegit.org/team/ttbp).
`ttbp` runs from the command line, providing a hub for writing personal blog `ttbp` runs from the command line, providing a hub for writing personal blog
posts and reading posts written by other users of tilde.town. it's a little bit posts and reading posts written by other users of tilde.team. it's a little bit
like livejournal or dreamwidth or tumblr. you can opt to publish your posts to a like livejournal or dreamwidth or tumblr. you can opt to publish your posts to a
public html file hosted on your tilde page, to tilde.town's gopher server, or public html file hosted on your tilde page, to tilde.team's gopher server, or
keep all your entries private to the tilde.town server. keep all your entries private to the tilde.team server.
this is a project that runs on tilde.town, so all users of this program are this is a project that runs on tilde.team, so all users of this program are
expected to operate under the tilde.town [code of expected to operate under the tilde.team [code of
conduct](http://tilde.town/wiki/conduct.html). content/personal issues should be conduct](http://tilde.team/wiki/code-of-conduct). content/personal issues should be
worked out according to the CoC, with support from the [administrative worked out according to the CoC, with support from the [administrative
team](http://tilde.town/wiki/administration/index.html) if needed. team](https://tilde.team/wiki/code-of-conduct#9--contact-info) if needed.
### support ### support
if you're having trouble getting started, or run into program errors or strange if you're having trouble getting started, or run into program errors or strange
behavior, please send internal tilde.town mail to ~endorphant and i'll try to behavior, please ask on [#team](https://web.tilde.chat/?join=team) or send a mail
to [sudoers@tilde.team](mailto:sudoers@tilde.team) and we'll try to
sort things out! sort things out!
there's also a function from the main menu that lets you send feedback/inquiries there's also a function from the main menu that lets you send feedback/inquiries
to me directly; this uses internal tilde.town mail, which is what i'll respond to us directly
to.
### writing entries ### writing entries
entries are recorded as plaintext files in your `~/.ttbp/entries` directory. entries are recorded as plaintext files in your `~/.ttbp/entries` directory.
`ttbp` will use your selected editor to open and write files; each day is its `ttbp` will use your selected editor to open and write files; each day is its
own entry, like a diary page. at midnight for whatever timezone you've set for own entry, like a diary page. at midnight for whatever timezone you've set for
your user account on tilde.town, you'll get a fresh entry. if you don't write your user account on tilde.team, you'll get a fresh entry. if you don't write
any feels on a particular day, no entries will show up there. any feels on a particular day, no entries will show up there.
when you save and quit the text editor, your entry will automatically propagate when you save and quit the text editor, your entry will automatically propagate
@ -59,7 +59,7 @@ by creating files with any date you want.)*
### reading other feels ### reading other feels
the `browse global feels` feature shows the ten most recent entries that anyone the `browse global feels` feature shows the ten most recent entries that anyone
has written on ttbp. this list is only accessible from within tilde.town, has written on ttbp. this list is only accessible from within tilde.team,
although individual entries may be posted to html or gopher. although individual entries may be posted to html or gopher.
you can also pull up a list of a single user's feels through `check out your you can also pull up a list of a single user's feels through `check out your
@ -71,7 +71,7 @@ opted to publish their posts.
private information, even if a particular user is publishing entries in a private information, even if a particular user is publishing entries in a
world-viewable way! please be respectful about having access to other people's world-viewable way! please be respectful about having access to other people's
feels, and do not copy/repeat any information without getting their explicit feels, and do not copy/repeat any information without getting their explicit
permission. tilde.town operates on a high level of mutual trust, and `ttbp` is permission. tilde.team operates on a high level of mutual trust, and `ttbp` is
designed to give individuals control over their content. designed to give individuals control over their content.
### privacy ### privacy
@ -80,7 +80,7 @@ when you start your ttbp, you have the option of publishing or not publishing
your blog. your blog.
if you opt to not publish, your entires will never be accessible from outside of if you opt to not publish, your entires will never be accessible from outside of
the tilde.town network; other tilde.town users will still be able to read your the tilde.team network; other tilde.team users will still be able to read your
entries through the ttbp interface, or by directly accessing your entries through the ttbp interface, or by directly accessing your
`~/.ttbp/entries` directory. `~/.ttbp/entries` directory.
@ -90,7 +90,7 @@ directory.
if you opt to publish, the program creates a directory `~/.ttbp/www` where it if you opt to publish, the program creates a directory `~/.ttbp/www` where it
stores all html files it generates, and symlinks this from your `~/public_html` stores all html files it generates, and symlinks this from your `~/public_html`
with your chosen blog directory. your blog will also be listed on the [main ttbp with your chosen blog directory. your blog will also be listed on the [main ttbp
page](https://tilde.town/~endorphant/ttbp). page](https://tilde.team/~ben/ttbp).
you can also opt to publish to gopher, and the program will automatically you can also opt to publish to gopher, and the program will automatically
generate a gophermap of your feels. generate a gophermap of your feels.
@ -110,7 +110,7 @@ them from within the program can help keep your files properly linked up.
posts. entries marked `(nopub)` will not get written to html or gopher, posts. entries marked `(nopub)` will not get written to html or gopher,
and toggling them from this menu will immediately publish or unpublish and toggling them from this menu will immediately publish or unpublish
that entry (if you're not publishing your posts at all, these settings that entry (if you're not publishing your posts at all, these settings
won't matter, since your feels will never show up outside of tilde.town) won't matter, since your feels will never show up outside of tilde.team)
* **backup your feels**--makes a .tar.gz of all your entries, saving one * **backup your feels**--makes a .tar.gz of all your entries, saving one
copy to `~/.ttbp/backups/` with the current date, and a second copy to copy to `~/.ttbp/backups/` with the current date, and a second copy to
your home directory for safekeeping. your home directory for safekeeping.

View File

@ -5,8 +5,8 @@ from setuptools import setup
setup( setup(
name='ttbp', name='ttbp',
version='0.12.2', version='0.12.2',
description='command line social blogging tool used on tilde.town', description='command line social blogging tool used on tilde.team',
url='https://github.com/modgethanc/ttbp', url='https://tildegit.org/team/ttbp',
author='~endorphant', author='~endorphant',
author_email='endorphant@tilde.town', author_email='endorphant@tilde.town',
license='MIT', license='MIT',

View File

@ -16,7 +16,7 @@ DEFAULT_LANG = {
], ],
"bye":[ "bye":[
"see you later, space cowboy", "see you later, space cowboy",
"bye, townie", "bye, teammate",
"until next time, friend", "until next time, friend",
"come back whenever" "come back whenever"
], ],
@ -24,7 +24,7 @@ DEFAULT_LANG = {
"friend", "friend",
"pal", "pal",
"buddy", "buddy",
"townie" "teammate"
], ],
"months":{ "months":{
"01":"january", "01":"january",

View File

@ -3,7 +3,7 @@ import os
import sys import sys
import time import time
from .. import util import ttbp.util
## System config ## System config
@ -24,8 +24,8 @@ if not os.path.isdir(VAR):
if not os.path.isdir(VAR_WWW): if not os.path.isdir(VAR_WWW):
os.mkdir(VAR_WWW) os.mkdir(VAR_WWW)
LIVE = 'https://tilde.town/~' LIVE = 'https://tilde.team/~'
FEEDBOX = "endorphant@tilde.town" FEEDBOX = "sudoers@tilde.team"
USERFILE = os.path.join(VAR, "users.txt") USERFILE = os.path.join(VAR, "users.txt")
GRAFF_DIR = os.path.join(VAR, "graffiti") GRAFF_DIR = os.path.join(VAR, "graffiti")
WALL = os.path.join(GRAFF_DIR, "wall.txt") WALL = os.path.join(GRAFF_DIR, "wall.txt")
@ -45,7 +45,7 @@ DEFAULT_HEADER = '''
</head> </head>
<body> <body>
<div id="meta"> <div id="meta">
<h1><a href="#">~$USER</a>@<a href="/~endorphant/ttbp">TTBP</a></h1> <h1><a href="#">~$USER</a>@<a href="https://tilde.team/wiki/ttbp">TTBP</a></h1>
</div> </div>
<div id="tlogs"> <div id="tlogs">
@ -83,7 +83,7 @@ SUBS = os.path.join(USER_CONFIG, 'subs')
BANNER = ''' BANNER = '''
___________________________________________________________ ___________________________________________________________
| | | |
| the tilde.town | | the tilde.team |
| ____ ____ ____ _ ____ ____ _ _ ____ _ _ _ ____ | | ____ ____ ____ _ ____ ____ _ _ ____ _ _ _ ____ |
| |___ |___ |___ | [__ |___ |\ | | __ | |\ | |___ | | |___ |___ |___ | [__ |___ |\ | | __ | |\ | |___ |
| | |___ |___ |___ ___] |___ | \| |__] | | \| |___ | | | |___ |___ |___ ___] |___ | \| |__] | | \| |___ |
@ -98,9 +98,9 @@ ___________________________________________________________
intro_prompt = """ intro_prompt = """
i don't recognize you, stranger. let's make friends. i don't recognize you, stranger. let's make friends.
the feels engine is an internal blogging platform on tilde.town. it assists you the feels engine is an internal blogging platform on tilde.team. it assists you
in recording your feels, giving you the option to publish to html or gopher, and in recording your feels, giving you the option to publish to html or gopher, and
read the feels of other users on tilde.town. read the feels of other users on tilde.team.
press <enter> to set up an account, or <ctrl-c> to quit. press <enter> to set up an account, or <ctrl-c> to quit.
""".lstrip() """.lstrip()
@ -109,6 +109,8 @@ credits = """
ttbp was written for tilde.town by ~endorphant in python. the codebase is ttbp was written for tilde.town by ~endorphant in python. the codebase is
publicly available on github at https://github.com/modgethanc/ttbp publicly available on github at https://github.com/modgethanc/ttbp
the tilde.team fork is maintained here: https://tildegit.org/team/ttbp
tips for development are accepted at https://liberapay.com/modgethanc/ tips for development are accepted at https://liberapay.com/modgethanc/
other contributors: other contributors:
@ -210,7 +212,7 @@ version 0.9.3 features:
~[version 0.10.1 features]~ ~[version 0.10.1 features]~
* thanks to help from ~vilmibm, ttbp now supports publishing to gopher! * thanks to help from ~vilmibm, ttbp now supports publishing to gopher!
* if you enable gopher publishing, feels will automatically publish to * if you enable gopher publishing, feels will automatically publish to
gopher://tilde.town/1/~{user}/feels gopher://tilde.team/1/~{user}/feels
* if you don't know what gopher is, it's fine to opt-out; ask around on * if you don't know what gopher is, it's fine to opt-out; ask around on
irc if you'd like to learn more! irc if you'd like to learn more!
* the settings menu has been reworked to be less clunky""", * the settings menu has been reworked to be less clunky""",
@ -297,7 +299,7 @@ version 0.9.3 features:
~[version 0.12.1 update]~ ~[version 0.12.1 update]~
new feature: "visit your subscriptions" new feature: "visit your subscriptions"
* view recent entries from a list of townies you've subscribed to * view recent entries from a list of teammates you've subscribed to
* subscription list is private; no one else can see who you're following * subscription list is private; no one else can see who you're following
* add/remove users from the subscription menu * add/remove users from the subscription menu

View File

@ -1,6 +1,6 @@
__________________________________________________________ __________________________________________________________
| | | |
| the tilde.town | | the tilde.team |
| ____ ____ ____ _ ____ ____ _ _ ____ _ _ _ ____ | | ____ ____ ____ _ ____ ____ _ _ ____ _ _ _ ____ |
| |___ |___ |___ | [__ |___ |\ | | __ | |\ | |___ | | |___ |___ |___ | [__ |___ |\ | | __ | |\ | |___ |
| | |___ |___ |___ ___] |___ | \| |__] | | \| |___ | | | |___ |___ |___ ___] |___ | \| |__] | | \| |___ |

View File

@ -6,7 +6,7 @@
</head> </head>
<body> <body>
<div id="meta"> <div id="meta">
<h1><a href="#">~$USER</a>@<a href="/~endorphant/ttbp">TTBP</a></h1> <h1><a href="#">~$USER</a>@<a href="https://tilde.team/wiki/ttbp">TTBP</a></h1>
</div> </div>
<div id="tlogs"> <div id="tlogs">

View File

@ -1,6 +1,6 @@
body { body {
background-color: #E0B0FF; background-color: #E0B0FF;
font-family: courier font-family: courier, monospace;
} }
#meta { #meta {

View File

@ -6,6 +6,8 @@ ttbp: tilde town blogging platform
a console-based blogging program developed for tilde.town a console-based blogging program developed for tilde.town
copyright (c) 2016 ~endorphant (endorphant@tilde.town) copyright (c) 2016 ~endorphant (endorphant@tilde.town)
forked for tilde.team by ~ben (ben@tilde.team)
core.py: core.py:
this is a core handler for some ttbp standalone/output functions this is a core handler for some ttbp standalone/output functions
@ -30,6 +32,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
the complete codebase is available at: the complete codebase is available at:
https://github.com/modgethanc/ttbp https://github.com/modgethanc/ttbp
and
https://tildegit.org/team/ttbp
''' '''
import os import os
@ -39,12 +43,12 @@ import re
import mistune import mistune
import json import json
from . import chatter import chatter
from . import config import config
from . import gopher import gopher
from . import util import util
FEED = os.path.join("/home", "endorphant", "public_html", "ttbp", "index.html") FEED = os.path.join("/home", "ben", "public_html", "ttbp", "index.html")
SETTINGS = {} SETTINGS = {}
HEADER = "" HEADER = ""
@ -142,7 +146,7 @@ def write_html(outurl="default.html"):
outfile = open(os.path.join(config.WWW, outurl), "w") outfile = open(os.path.join(config.WWW, outurl), "w")
outfile.write("<!--generated by the tilde.town blogging platform on "+time.strftime("%d %B %y")+"\nhttp://tilde.town/~endorphant/ttbp/-->\n\n") outfile.write("<!--generated by the tilde.team blogging platform on "+time.strftime("%d %B %y")+"\nhttp://tilde.team/~ben/ttbp/-->\n\n")
for line in HEADER: for line in HEADER:
outfile.write(line) outfile.write(line)
@ -174,7 +178,7 @@ def write_page(filename):
outurl = os.path.join(config.WWW, "".join(util.parse_date(filename))+".html") outurl = os.path.join(config.WWW, "".join(util.parse_date(filename))+".html")
outfile = open(outurl, "w") outfile = open(outurl, "w")
outfile.write("<!--generated by the tilde.town blogging platform on "+time.strftime("%d %B %y")+"\nhttp://tilde.town/~endorphant/ttbp/-->\n\n") outfile.write("<!--generated by the tilde.team blogging platform on "+time.strftime("%d %B %y")+"\nhttp://tilde.team/~ben/ttbp/-->\n\n")
for line in HEADER: for line in HEADER:
outfile.write(line) outfile.write(line)
@ -247,18 +251,18 @@ def write_global_feed(blogList):
<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 3.2//EN\"> <!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 3.2//EN\">
<html> <html>
<head> <head>
<title>tilde.town feels engine</title> <title>tilde.team feels engine</title>
<link rel=\"stylesheet\" href=\"style.css\" /> <link rel=\"stylesheet\" href=\"style.css\" />
</head> </head>
<body> <body>
<div class="meta"> <div class="meta">
<h1>tilde.town feels engine</h1> <h1>tilde.team feels engine</h1>
<h2><a href="https://github.com/modgethanc/ttbp">github <h2><a href="https://github.com/modgethanc/ttbp">github
repo</a> | <a repo</a> | <a
href="http://tilde.town/~endorphant/blog/20160510.html">state href="http://tilde.town/~endorphant/blog/20160510.html">state
of the ttbp</a></h2> of the ttbp</a></h2>
<!--<p>curious? run <b>~endorphant/bin/ttbp</b> while logged in to tilde.town.</p> <!--<p>curious? run <b>ttbp</b> while logged in to tilde.team.</p>
<p>it's still a little volatile. let me know if anything breaks.</p>---></div> <p>it's still a little volatile. let me know if anything breaks.</p>---></div>
<p>&nbsp;</p> <p>&nbsp;</p>
""") """)

View File

@ -6,9 +6,8 @@ import os
import time import time
import subprocess import subprocess
from . import util import util
from . import config import config
#from .core import parse_date
GOPHER_PROMPT = """ GOPHER_PROMPT = """
@ -41,7 +40,7 @@ GOPHERMAP_HEADER = """
this file is automatically generated by ttbp. this file is automatically generated by ttbp.
0(about ttbp)\t/~endorphant/ttbp.txt\ttilde.town\t70 0(about ttbp)\t/ttbp.txt\ttilde.team\t70
1(back to user's home)\t/~{user} 1(back to user's home)\t/~{user}
entries: entries:

View File

@ -30,6 +30,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
the complete codebase is available at: the complete codebase is available at:
https://github.com/modgethanc/ttbp https://github.com/modgethanc/ttbp
and
https://tildegit.org/team/ttbp
''' '''
from __future__ import absolute_import from __future__ import absolute_import
@ -45,11 +47,11 @@ from six.moves import input
import inflect import inflect
from . import config import config
from . import core import core
from . import chatter import chatter
from . import gopher import gopher
from . import util import util
__version__ = "0.12.2" __version__ = "0.12.2"
__author__ = "endorphant <endorphant@tilde.town)" __author__ = "endorphant <endorphant@tilde.town)"
@ -327,7 +329,7 @@ def gen_header():
</head> </head>
<body> <body>
<div id=\"meta\"> <div id=\"meta\">
<h1><a href=\"index.html#\">~"""+config.USER+"""</a>@<a href=\"/~endorphant/ttbp\">TTBP</a></h1> <h1><a href=\"index.html#\">~"""+config.USER+"""</a>@<a href=\"https://tilde.team/wiki/ttbp\">TTBP</a></h1>
</div> </div>
<!---put your custom html here--> <!---put your custom html here-->
@ -611,7 +613,7 @@ def feedback_menu():
if choice in ['0', '1', '2', '3']: if choice in ['0', '1', '2', '3']:
cat = SUBJECTS[int(choice)] cat = SUBJECTS[int(choice)]
entered = input(""" entered = input("""
composing a {mail_category} to ~endorphant. composing a {mail_category} to tilde.team admins.
press <enter> to open an external text editor. mail will be sent once you save and quit. press <enter> to open an external text editor. mail will be sent once you save and quit.
@ -806,7 +808,7 @@ def view_neighbors(users, prompt, page=0):
sortedUsers.append(user[0]) sortedUsers.append(user[0])
userIndex.append(user[2]) userIndex.append(user[2])
ans = menu_handler(sortedUsers, "pick a townie to browse their feels, or type 'q' to go home: ", 15, page, SETTINGS.get("rainbows", False), prompt) ans = menu_handler(sortedUsers, "pick a teammate to browse their feels, or type 'q' to go home: ", 15, page, SETTINGS.get("rainbows", False), prompt)
if ans is not False: if ans is not False:
(page, choice) = ans (page, choice) = ans
@ -819,7 +821,7 @@ def view_neighbors(users, prompt, page=0):
def view_feels(townie): def view_feels(townie):
''' '''
generates a list of all feels by given townie and displays in generates a list of all feels by given teammate and displays in
date order; allows selection of one feel to read. date order; allows selection of one feel to read.
''' '''
@ -1286,7 +1288,7 @@ def send_feedback(entered, subject="none"):
id = "#"+util.genID(3) id = "#"+util.genID(3)
mail = MIMEText(message) mail = MIMEText(message)
mail['To'] = config.FEEDBOX mail['To'] = config.FEEDBOX
mail['From'] = config.USER+"@tilde.town" mail['From'] = config.USER+"@tilde.team"
mail['Subject'] = " ".join(["[ttbp]", subject, id]) mail['Subject'] = " ".join(["[ttbp]", subject, id])
m = os.popen("/usr/sbin/sendmail -t -oi", 'w') m = os.popen("/usr/sbin/sendmail -t -oi", 'w')
m.write(mail.as_string()) m.write(mail.as_string())
@ -1358,9 +1360,9 @@ def view_subscribed_feed(subs, prompt=""):
def feed_list(townies, delta=30): def feed_list(townies, delta=30):
''' '''
given a list of townies, generate a list of 50 most recent entries within given a list of teammates, generate a list of 50 most recent entries within
given interval (default 30 days; 0 days for no limit). validates against given interval (default 30 days; 0 days for no limit). validates against
townies with ttbp config files. teammates with ttbp config files.
returns a tuple of (entries, metas) returns a tuple of (entries, metas)
''' '''
@ -1425,11 +1427,11 @@ def subscription_manager(subs, intro=""):
if choice is not False: if choice is not False:
if choice == 0: if choice == 0:
prompt = "list of townies recording feels:" prompt = "list of teammates recording feels:"
redraw(prompt) redraw(prompt)
subs = subscribe_handler(subs, prompt) subs = subscribe_handler(subs, prompt)
elif choice == 1: elif choice == 1:
prompt = "list of townies you're subscribed to:" prompt = "list of teammates you're subscribed to:"
redraw(prompt) redraw(prompt)
subs = unsubscribe_handler(subs, prompt) subs = unsubscribe_handler(subs, prompt)
else: else:
@ -1446,7 +1448,7 @@ def unsubscribe_handler(subs, prompt, page=0):
subs.sort() subs.sort()
ans = menu_handler(subs, "pick a pal to unsubscribe (or 'q' to cancel): ", 15, page, SETTINGS.get("rainbows", False), "list of townies recording feels:") ans = menu_handler(subs, "pick a pal to unsubscribe (or 'q' to cancel): ", 15, page, SETTINGS.get("rainbows", False), "list of teammates recording feels:")
if ans is not False: if ans is not False:
(page,choice) = ans (page,choice) = ans
@ -1473,7 +1475,7 @@ def subscribe_handler(subs, prompt, page=0):
candidates.sort() candidates.sort()
ans = menu_handler(candidates, "pick a townie to add to your subscriptions (or 'q' to cancel): ", 15, page, SETTINGS.get("rainbows", False), "list of townies recording feels:") ans = menu_handler(candidates, "pick a teammate to add to your subscriptions (or 'q' to cancel): ", 15, page, SETTINGS.get("rainbows", False), "list of teammates recording feels:")
if ans is not False: if ans is not False:
(page, choice) = ans (page, choice) = ans
@ -1659,7 +1661,7 @@ if yes, your feels will be published to a directory of your choice in
your public_html. i'll confirm the location of that directory in a your public_html. i'll confirm the location of that directory in a
moment. moment.
if not, your feels will only be readable from within the tilde.town if not, your feels will only be readable from within the tilde.team
network. if you already have a publishing directory, i'll remove it for network. if you already have a publishing directory, i'll remove it for
you (don't worry, your written entries will still be saved!) you (don't worry, your written entries will still be saved!)
@ -1842,7 +1844,7 @@ def update_user_version():
print(""" print("""
* thanks to help from ~vilmibm, ttbp now supports publishing to gopher! * thanks to help from ~vilmibm, ttbp now supports publishing to gopher!
* if you enable gopher publishing, feels will automatically publish to * if you enable gopher publishing, feels will automatically publish to
gopher://tilde.town/1/~"""+config.USER+"""/feels gopher://tilde.team/1/~"""+config.USER+"""/feels
""") """)
SETTINGS.update({'gopher': gopher.select_gopher()}) SETTINGS.update({'gopher': gopher.select_gopher()})
@ -1877,7 +1879,7 @@ def update_user_version():
}""") }""")
print(""" print("""
you're all good to go, """+chatter.say("friend")+"""! please contact ~endorphant if you're all good to go, """+chatter.say("friend")+"""! please contact the tilde.team admins if
something strange happened to you during this update. something strange happened to you during this update.
""") """)