Does anyone know how I can make a list of all my posts available in alphabetical order in Tumblr?
List all posts in alphabetical order on Tumblr
tumblr
Related Solutions
At this time, you cannot get the "authorship" information of the Posts on a Group blog from Tumblr via the Theme Variables
Edit: At the time I wrote this, I believed it was still correct. For a long time, this was not possible. Sometime in the last month or two (last time I read the Tumblr Theme Documents) this ability has been added to Tumblr. Yay!
Using the new Theme Variables for Post Authors
First, you ought to go read the Documentation under the heading "Post Authors"
The most relevant new Theme Variable is {PostAuthorName}
which will give you the Tumblr name of the author of the post on a group blog. This variable is available within the {block:Posts}
in your Theme Code.
Example Usage
Because there are no {block:..}
type elements for the Post Authors (to say, "iterate" over all author's posts), typical usage for what the OP wants to do would likely make use of CSS classes.
However, because Tumblr Names are not guaranteed to be valid CSS class names, you should take some precaution when embedding them in your HTML. (for example, "1234myblog" is a valid Tumblr Name, but not a valid CSS class name. Also, in the old days Tumblr used to allow Tumblr Names that started and ended with Dashes, like "-mycoolblog-" which is also not a valid CSS class)
Eg, instead of: <div class="post {PostAuthorName}">
A safer alternative might be: <div class="post author{PostAuthorName}post">
In that way, the "safe" version will prevent your code from breaking if an author has a Tumblr Name that is not a valid CSS Class name. (Of course, you can skip this if you know your author's names in advance!)
Not also that {PostAuthorName}
will return the author's names in all-lower-case.
And so, some example code:
<div class="posts">
{block:Posts}
...
<div class="post author{PostAuthorName}post">
<!-- Post content in here -->
</div>
...
{/block:Posts}
</div>
Then maybe a little CSS. Let's suppose your Author's Tumblr Names are "43-is-the-answer" and "-a-hitch-hiker-":
<style>
.post.author43-is-the-answerpost { float: left; }
.post.author-a-hitch-hiker-post { float: right; }
</style>
Then one Author's posts will float to the left, and the other author's to the right inside your posts
Container div.
That's simplified a lot -- but it should get you on the right track.
Using the Technique of "Tagging Posts with the Author"
This was my original recommendation, and it does work just fine. I'll re-produce the original answer here.
The other alternative, as the OP suggested, to use Tags, and have each author tag his posts with a unique tag.
In your Theme Code, you can use the {TagsAsClasses}
theme variable to extract the "Author Tags" and apply them as CSS classes to each post. Yes, it will add all the other tags too, but that's probably OK as long as you're careful with your CSS :)
Note The {TagsAsClasses} variable will automatically lower-case your tags, and replace any spaces (" ") or dashes ("-") with an underscore ("_").
So, supposing our Authors tagged their posts with "Jim Beam" and "Ezra-Brooks" (and sometimes made an error and tagged with "jim beam" and "ezra brooks"), then the class names given by {TagsAsClasses}
will still be jim_beam
and ezra_brooks
Example code:
<div class="posts">
{block:Posts}
...
<div class="post {TagsAsClasses}">
<!-- Post content in here -->
</div>
...
{/block:Posts}
</div>
And a little corresponding CSS:
<style>
.post.jim_beam { float: left; }
.post.ezra_brooks { float: right; }
</style>
Again, just a rough example to get you on the right track.
This post was significantly updated on 22-June-2012
It appears that in the past this was possible but with a very recent change made it no longer work.
This DailyDot article explained how one could previously accomplish this:
8) Filter your dash by type by using "/show/[mediatype]".
Appending “/show/text” to tumblr.com will let you see only the text posts on your dash.
This also works for photos, links, quotes, audio, chats, and videos.
(Though I'm unsure if this applied to user's blogs or just tumblr.com)
One way in which you could allow for this to work in the future is to tag all of your posts with their media type (e.g. #text, #image, #video, etc.) and then add /tagged/text
(for example) to the end of your blog's URL to view only those types of posts. You can use http://www.tumblr.com/mega-editor to easily add media-type tags to all of your old posts.
Best Answer
It is possible by via the Tumblr API, as it does provide the ability to request the Text posts for a blog and return the results as JSON-encoded objects. You can then use code to sort these results alphabetically.
Tumblr API Details - www.tumblr.com/docs/en/api/v2
Text Posts
Here is an example of a request and what you will get in the response - http://api.tumblr.com/v2/blog/citriccomics.tumblr.com/posts/text?api_key=fuiKNFp9vQFvjLNvx4sUwti4Yb5yGutBN4Xh10LXZhhRKjWlV4
You can get a better look at what this all means (i.e. each separate post) by using this online JSON viewer - http://jsonviewer.stack.hu/#http://api.tumblr.com/v2/blog/citriccomics.tumblr.com/posts/text?api_key=fuiKNFp9vQFvjLNvx4sUwti4Yb5yGutBN4Xh10LXZhhRKjWlV4
Making this happen would not be too difficult for a PHP or web programmer.