jekyll / jekyll-admin

A Jekyll plugin that provides users with a traditional CMS-style graphical interface to author content and administer Jekyll sites.
https://jekyll.github.io/jekyll-admin/
MIT License
2.83k stars 362 forks source link

Allow Jekyll Admin UI on live sites #190

Closed andrewbanchich closed 8 years ago

andrewbanchich commented 8 years ago

Would it be possible to allow Jekyll Admin to work on live sites so that less tech savvy people can update their blogs? I wonder if this can be done by allowing users to log in with GitHub so that there doesn't need to be any databases or user authentication on Jekyll's end. That way, we'd also be able to tie it in to our GitHub repos directly instead of updating our sites locally and then pushing to GitHub or our other host.

benbalter commented 8 years ago

See https://github.com/jekyll/jekyll-admin/issues/68#issuecomment-235925883 for some prior discussion. That'd be awesome, but there are some non-trivial technical challenges[1] to tackle, and there's lots of low-hanging fruit in terms of polishing the app's experience that make sense to tackle first.


[1]: Specifically, Jekyll Admin requires a Jekyll instance that can read in the entire site so that it can use Jekyll's native representation of Pages and Posts, generate previews, etc. You'd either have to clone down the entire site on a server, make your changes, and push (essentially replicating the desktop experience on a server), or have a server that can put out a compatible API and would talk to the GitHub API directly.

andrewbanchich commented 8 years ago

@benbalter Could that be done more easily if GitHub used Docker containers to run Jekyll Pages like GitLab does? Wouldn't that allow us to securely set up Jekyll instances and use any plugins we want too? Might be a stupid question since I'm relatively new to this stuff.

benbalter commented 8 years ago

Could that be done more easily if GitHub used Docker containers to run Jekyll Pages like GitLab does?

Not that I see. Lets say you spun up a Heroku instance and put Jekyll on it and cloned down your site. You're still left with three problems:

  1. The server Jekyll ships with isn't really intended to serve production traffic.
  2. You'd need to have one instance per repo, which doesn't really scale.
  3. Jekyll Admin would be writing content to disk on the Heroku instance (or Docker container in your example). You'd need to figure out how to get that content back to the GItHub repo.
andrewbanchich commented 8 years ago

Okay thanks!

borisrorsvort commented 8 years ago

can we assume the project is going in the direction of https://forestry.io/ or http://www.siteleaf.com/ ?

benbalter commented 8 years ago

can we assume the project is going in the direction of https://forestry.io/ or http://www.siteleaf.com/ ?

For now, at least, we're working on refining the user experience of local site administration, building towards a solid 1.0.

luowei commented 5 years ago

Looking forward to local site administration ,admin password protected auth ...