I have developed blogging feature for an Australian wedding website. I can easily replicate these features.
1) An initial list of categories (or subjects).
2) Under each category, a list of articles appears with title, author, date, etc. sorted by date by default (latest on top). However, sorting can be done on any field and in ascending or descending order.
3) Articles can be searched by all fields.
4) New articles can be posted by any guest user under a chosen category. Author must provide a valid email address.
5) Before posting, a preview post option will be available.
6) Posted articles will not be immediately published. Rather, they will be put in a queue for admin approval.
7) An admin interface will be there to approve or decline the article.
8) Approved articles will immediately start appearing under the relevant category.
9) Declined articles will not be published and author will be informed via email.