LiveJournal's new style system S2 has, for a few months now, been considered "finished". While features are still being added to the language on a weekly basis, and new system styles are always in the works, S2 has reached a stage where new LiveJournal accounts use S2 by default, and LiveJournal officially supports the style system and its problems.
That said, there's one area which still needs work: documentation. While the existing S2 manual has served as a valuable resource and a kick-start for many accomplished S2-minded programming types, the advanced side of customisation remains far more complex than that of its predecessor S1. Communities such as s2howto, s2styles and s2component have all done a remarkable job to date of informing users of cool things they can do with their journals, but Support still sees a lot of users who just don't understand, for example, how to create a custom style from scratch. With that in mind, welcome to s2docs.
Custom styles in S1 are simple to create, yet restrictive in their nature. Each journal "view" is split up into clearly defined sections of code, each with their own exclusive variables, and it is these sections that are joined together to form the particular view.
In S2, the whole landscape changes. The one custom style is the combination of different types of layers which control various aspects of the style, from appearance and language settings to the actual functions that generate the HTML behind the layout. The one layout layer controls all of the different journal views, and any structure present in an S1 custom style evaporates in S2, into one big customisable box of code.
The code, of course, is the S2 language, explained in some detail in the existing documentation. Borrowing heavily from programming languages such as perl and Java, the S2 language relies heavily on the tried and tested concept of "inheritance" to offer as much flexibility as possible. With the vastly increased flexibility, of course, comes complexity.
Faced with this and the existing documentation, which acts more like a reference manual than a tutorial, paying users can't create their own custom style without referring to this manual as well as the source code to existing layers, and asking questions of those more knowledgeable. The primary goal of this journal, therefore, is to become the official LiveJournal tutorial for creating a custom S2 style, from start to finish. There are a few secondary goals, but I'll get into those later.
But there are now 973,619,487,656 possible feature combinations that could be used in creating a custom S2 style! What about my artistic needs?
Because the S2 style creation process has grown to become so flexible, and the imaginations of LiveJournal users are so unique and varied when it comes to designing a layout, this tutorial plans to take that into account by not following a set structure which produces the same layout every time. The tutorial will start out with a basic lesson in the S2 language, following a set path until it comes to mess around with the language itself. From then on, the tutorial will become a wiki-like structure of documents, each page linking to a variety of sub-tutorials as appropriate.
You can actually do this using a LiveJournal?
With the aid of a custom S2 style, yes. The design and navigational structure of this custom style is yet to be finalised, but one key feature of S2 makes it possible to customise the appearance of journal entries in more than one way. The hard part will be inter-linking these entries into a coherent structure, but it's all doable... except for a search function, which could still be hosted off-site.
When the finished version of the custom style goes live, the main s2docs journal page will become an introduction page to the various available tutorials. A framed layout will allow for a secondary "reference" frame in addition to the main tutorial frame, so users confused with the use of a particular function referred to in the main tutorial can find out quickly within the reference frame without leaving the tutorial.
But if these manual pages are ordinary journal entries, won't they flood my friends page if I friend s2docs?
No. Entries to be used as manual pages will be backdated; only "announcement" posts such as this one will show up on your friends page if you friend this journal, so it's still worth doing.
What happens to s2howto? Will s2docs replace this immensely useful source of tutorials?
No. s2howto will remain the central resource for tutorials on how to do things to existing public S2 styles. The only reason why this tutorial will not be posted in s2howto is because it will grow out of all proportions as you, the user, request additional information that's later added. So much knowledge can simply not be imparted in the constraints of a single s2howto journal entry.
Once the main tutorial is completed to a reasonable degree, however, work will start on turning part of s2docs into a portal for the various available s2howto tutorials. Thus, s2docs will be split into three areas, focusing on the following:
Creating a custom style from scratch;
Doing things to existing system styles (Generator, A Sturdy Gesture, etc); and
The S2 language itself.
I hope that answers all of your questions about the future direction of this journal and S2 documentation in general. If you have any more questions, feel free to comment.