[steempress] Open source & self hosted blog platform powered by the steem blockchain

in #steempress8 years ago

https://img1.steemit.com/0x0/https://pbs.twimg.com/profile_images/730961175182073860/AY9SsNuk.jpg

SteemPress Alpha - 0.0.1 - Contributors wanted!

SteemPress is an open source project providing a simple, customizable, self-hostable blog engine powered by the steem blockchain. The goals of the projects are as follows: create a blog platform that anyone can host on any web host. It should be as simple as downloading a zip, editing a few config files, and uploading to a server running PHP.

The initial proof of concept launched almost 2 weeks ago was an interesting experiment, but was using some technologies preventing it from being truly portable. The version released today is a complete rebuild from the ground up using all open source technologies that should theoretically run everywhere!

Interested in viewing the code? Want to help?

https://github.com/aaroncox/steempress

I currently don't have a demo site setup but will have one setup in the coming days. My plan is to setup a blog for updates to SteemStats.

Discussion on technologies used

Before the project gets too far along I wanted to release an alpha and start engaging with developers, designers and bloggers here on steemit. This project will take a community to foster and raise, as most open source initiatives do. As a collective, we just need to make sure the right tools are being used and it's accessible to everyone.

To kick things off, here's a list of technologies currently in use by SteemPress, along with my reasoning for choosing them:

I am open to all of this changing as long as it fits our goals and needs. If you've got ideas, let's chat!

Get involved and opportunities

There's a lot to do to bring this project up to what could be considered 1.0, and I can't do it all alone! If you're interested in contributing, here are some ways to help:

Designers

SteemPress could use a default theme that's fitting of being a Steem project. Currently it's using Foundation 6 CSS as the base, but an amazing theme could be build on top of this. If you're interested, I'd currently recommend just building an HTML/CSS template of how you imagine it would look (with sample data) using foundation.

I'd be more than happy to help implement it into SteemPress's core code. Right now it looks pretty crappy :)

Imgur

In the future, we could have an entire theme marketplace. People creating and sharing themes, posting screenshots, and potentially earning rewards/tips from other users who then use their themes. As much as I hate to say it, the potential for "premium" themes also exists.

Developers

There's a lot of work that needs to be done, and I'll be hitting it hard over the next couple days implementing new features and continuing to setup the foundation of the project. Pull requests, opening issues, hell, even just installing it and seeing how easy it is to get running would help at this point. Take a look at the future features list below for some ideas.

Currently I think one of the highest priorities for development is getting a JS layer implemented that allows users to login with their posting key. From there, we could allow users to comment and vote on posts as they are reading.

To get started, just clone down the code and run composer install to install the dependencies. I've also included a sample nginx config in the repo. If you have problems, just let me know.

Bloggers

Do you have an idea for a blog that you'd like to be steem powered, yet on it's own blog style website? I'd love to hear what you'd want out of a system like that. It will help shape the direction of the project and hopefully help you get running!

There will also be opportunities for "how-to" articles on how to setup your own blog using steempress!

Places to further discuss this

Feel free to leave a comment! I've also started #steempress on our new rocket.chat server. You're welcome to join the channel and help in whatever way possible!

Currently supported features

  • User Blog: Visiting /@username on the application loads a blog style list of that users posts. Each piece of content is previewed, displaying the title, first 2 paragraphs of text, the author and date.
  • Full page posts: Using the same URL structure that exists here on steemit, you can access posts for a full view of the content.
  • Localization Support: Using the configuration file, you can set the default language of the site to customize the non-content elements. These localization files will need to be expanded and defined.

Features yet to be developed

  • Homepage: A default homepage needs to be created that reads the site's configuration and creates a blog based on the configuration provided. The site should be configurable to automatically host the blog of the specified user(s) and could even match specific tags.
  • Tag Browsing: Create an in-site navigation that allows for browsing of all content by that user.
  • Theme Support: resources/templates should contain different "themes", which users can download to customize the look and feel of the blog.
  • User Authentication: Implementing a solution like steemjs by @fabien to allow for user authentication. From there voting, commenting, and even authoring tools could be added. I imagine all user-related activity will happen in the browser, much like steemit.com, and never communicate with the server.
  • Deployment Scripts: Setting up scripts to allow for easy deployment to Heroku and similar services for microhosting.
  • Caching Layer: A simple caching layer should be added to cache content (statically) on the server for X amount of time. Currently each request calls the blockchain for content.
  • Full Test Coverage: The testing framework exists using phpunit, but needs to be built upon. I plan on integrating it with TravisCI in the very near future for public testing results.

Future of SteemPress.io

The last bit of the puzzle is where the original concept (steempress.io) fits into this equation. It's still running on the proof of concept design I did a few weeks ago, but I will be upgrading it to use this new format in the near future. We will use it to showcase all things steempress related - themes, updates, tutorials, etc.

Let's build something awesome together!

Thanks again steemians - this community has produced some amazing works over the past few weeks. Let's keep this ball rolling and keep adding more and more value to the steem platform!

Sort:  

I'll definitely clone the repo and play around with this project later today! PHP is my go-to server language for web dev work. I think there would be a lot of adoption if this can somehow be integrated with WordPress. Imagine all those bloggers there! Exciting!

I don't even know that you need to integrate with wordpress, you should be able to use Steem as your database and do everything that wordpress allows for! Look forward to you tinkering with it. It looks like crap right now, but the potential is endless :)

​That's an excellent point! Upvote for WordPress integration. The effort would provide a gateway application.

I'm excited to see some review/screenies!

Very nice! @xeroc also has a similar project: https://github.com/xeroc/vanteem/tree/master

Oh that's awesome, man I really need to sit down and just go through all the projects he's done. There's some awesome things coming out of that guys mind :)

I assume the blockchain has to be downloaded, yes? (If so, what's the size right now?)

Nope! Right now I have the code pointing to my public node that's powering steemstats.com. Any public node could be used as well, or you could setup your own. It's part of the configuration file :)

Aha, thanks.

Hey @jesta, I jumped in and made a pull request on Github so that #Steempress works with #Heroku out of the box. You can see my sample site up here: http://bmann-steempress.herokuapp.com/ (EDIT: changed the URL to be "my" demo, since it's easy for anyone to try out on Heroku now)

I like the concept of the site being potentially single-user or multi-user. For instance, you might want to list everything with a single tag or just show your own posts.

Caution: my actual PHP hacking skills are pretty weak, but we'll see where I get to.

That's awesome!

I left you some comments on the pull request itself. And absolutely, you got the idea, and I like how your sample uses a few different people :)

I am adding both your sites to my ( in the making) website. A directory of everything steemit related from products to services. I hope you don't mind.

Not at all, feel free!

Will this be similar to Medium hosting stand alone sites?

I'd imagine so! I didn't realize medium did that kind of thing.

Just the kind of thing I was hoping to find. Installed the code on my laptop and it worked like a charm.

Some issue with the url (.../web/index.php/@vikram works instead of .../web/@vikram) perhaps as I am using apache and the url rewrite config are not set.

Played with changing templates ..works good. Needs cache clear
rm -rf ./steempress/var/cache/twig/*

Thanks a lot for the code. if i can contribute back i will do. .. i need to learn first ;-)

Ahh yep, it's probably apache. The nginx config included in the repository rewrites all URLs to index.php to solve the problem you're having with the URL. I imagine I should add an .htaccess file so anyone running apache doesn't have to deal with this.

Also - regarding the changing templates and clearing the cache: if you use index_dev.php instead of index.php, it won't use the cache and you won't have to clear it every time :)

This is great. As you know by now I am your avid follower and I like all your tools.

I've joined the channel and I will set up a site with steempress - eventually. First I have to finish one or two of the projects that I am currently working on :)

So I can't promise that I'll be very active but I will always be here checking the development.

Excellent!

Interesting post !

Thanks @jesta! It's great to be able to see and engage with the work you're doing.

Coin Marketplace

STEEM 0.29
TRX 0.11
JST 0.034
BTC 66095.77
ETH 3184.92
USDT 1.00
SBD 4.12