# Web-Based Editor?

**URL:** <https://discourse.gohugo.io/t/web-based-editor/155>\
**Category:** feature\
**Created:** [October 1, 2014, 6:14pm UTC](https://discourse.gohugo.io/t/web-based-editor/155 "2014-10-01T18:14:15Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![isaac](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/isaac/32/4508_2.png) [@isaac](https://discourse.gohugo.io/u/isaac)\
**Post date:** [October 1, 2014, 6:14pm UTC](https://discourse.gohugo.io/t/web-based-editor/155/1 "2014-10-01T18:14:15Z")

</div>

I have a love hate relationship with the web. I love static site generators and generally hate big content management systems. All the while, the “work local and deploy” model _does_ have significant downsides, especially when working on something where non-techie folks need to collaborate.

Looking at the [Hugo roadmap](http://gohugo.io/meta/roadmap/) I’m thrilled to see “an interactive web-based editor.” It seems that this could transform Hugo into a sweet and powerful replacement for Wordpress and other big CMS frameworks. Does this seem possible or is it more of a pipe dream?

I’d love to learn more about the vision of a Hugo web-based editor and generally discuss thoughts/ideas that folks have on the topic.

---

<div class="post-metadata">

**Author:** ![adrinux](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/adrinux/32/46_2.png) [@adrinux](https://discourse.gohugo.io/u/adrinux)\
**Post date:** [October 3, 2014, 2:32pm UTC](https://discourse.gohugo.io/t/web-based-editor/155/2 "2014-10-03T14:32:23Z")

</div>

Oh, its possible, at least in certain hosting/dev environments. [http://prose.io/](http://prose.io/) works with github for instance and can work with Jekyll. Since it will edit any markdown file on github I dare say you can get it going right now with hugo content files too.  
Need to be willing to put your site on github though…

Some reading:

> **[2012 June 25 Prose A Content Editor For Github — Development Seed](https://www.developmentseed.org/blog/2012/june/25/prose-a-content-editor-for-github/)**
>
> We are a creative data visualization and mapping team. We help organizations use data to explain complex issues and make better decisions.

  

> **[prose/prose](https://github.com/prose/prose/wiki/Getting-Started)**
>
> A Content Editor for GitHub. Contribute to prose/prose development by creating an account on GitHub.

---

<div class="post-metadata">

**Author:** ![tom](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/tom/32/80_2.png) [@tom](https://discourse.gohugo.io/u/tom)\
**Post date:** [October 3, 2014, 2:40pm UTC](https://discourse.gohugo.io/t/web-based-editor/155/3 "2014-10-03T14:40:41Z")

</div>

I imagine exposing a server with an API and then putting editing controls over top your site with JavaScript might be a good solution here. Then the API would just send markdown to be saved to disk and then re-generate the site. Could be fairly straight forward (until you perhaps wanted to deploy to multiple servers, even still not bad).

---

<div class="post-metadata">

**Author:** ![tubia](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/tubia/32/8827_2.png) [@tubia](https://discourse.gohugo.io/u/tubia)\
**Post date:** [November 1, 2014, 10:04pm UTC](https://discourse.gohugo.io/t/web-based-editor/155/4 "2014-11-01T22:04:51Z")

</div>

As others suggested, [prose.io](http://prose.io) seems to be a good starting point. The main problem, to me, is that it relies on github auth, so you cannot manage your website in an autonomous way.

---

<div class="post-metadata">

**Author:** ![dolanor](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/dolanor/32/159_2.png) [@dolanor](https://discourse.gohugo.io/u/dolanor)\
**Post date:** [December 11, 2014, 2:19pm UTC](https://discourse.gohugo.io/t/web-based-editor/155/5 "2014-12-11T14:19:19Z")

</div>

Searching for [prose.io](http://prose.io) again, couldn’t find it except on this topic (and I like Hugo too).  
But I stumbled upon some great product : [http://sofish.github.io/pen/](http://sofish.github.io/pen/)  
WYSIWYG and still accept MD.  
One problem though, you can’t edit on mobile as smoothly as on desktop.

---

<div class="post-metadata">

**Author:** ![ahsanulhaque](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/ahsanulhaque/32/162_2.png) [@ahsanulhaque](https://discourse.gohugo.io/u/ahsanulhaque)\
**Post date:** [December 17, 2014, 3:32am UTC](https://discourse.gohugo.io/t/web-based-editor/155/6 "2014-12-17T03:32:51Z")

</div>

Has there been any development on this?

---

<div class="post-metadata">

**Author:** ![dagoon79](https://avatars.discourse-cdn.com/v4/letter/d/e5b9ba/32.png) [@dagoon79](https://discourse.gohugo.io/u/dagoon79)\
**Post date:** [December 19, 2014, 5:49pm UTC](https://discourse.gohugo.io/t/web-based-editor/155/7 "2014-12-19T17:49:20Z")

</div>

I’m am totally for this, but it has to function along the lines of Webflow. It’s what I use now. I’m thinking that if I can get this figured out with my previous Webflow sites I’ll upload to github.

---

<div class="post-metadata">

**Author:** ![gour](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/gour/32/197_2.png) [@gour](https://discourse.gohugo.io/u/gour)\
**Post date:** [January 16, 2015, 9:21am UTC](https://discourse.gohugo.io/t/web-based-editor/155/8 "2015-01-16T09:21:14Z")

</div>

I also wonder if web-based editor is still considered for Hugo?

---

<div class="post-metadata">

**Author:** ![nomadsagency](https://avatars.discourse-cdn.com/v4/letter/n/7993a0/32.png) [@nomadsagency](https://discourse.gohugo.io/u/nomadsagency)\
**Post date:** [January 28, 2015, 2:52pm UTC](https://discourse.gohugo.io/t/web-based-editor/155/9 "2015-01-28T14:52:01Z")

</div>

+1

A web based editor would be really sweet. I’ve been using Prose and it’s quite nice. It could be a good idea to fork Prose for Hugo.

---

<div class="post-metadata">

**Author:** ![jamie](https://avatars.discourse-cdn.com/v4/letter/j/aca169/32.png) [@jamie](https://discourse.gohugo.io/u/jamie)\
**Post date:** [February 22, 2015, 10:53am UTC](https://discourse.gohugo.io/t/web-based-editor/155/10 "2015-02-22T10:53:18Z")

</div>

+1 for this

---

<div class="post-metadata">

**Author:** ![michael\_henderson](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/michael_henderson/32/10490_2.png) [@michael\_henderson](https://discourse.gohugo.io/u/michael_henderson)\
**Post date:** [February 25, 2015, 5:10am UTC](https://discourse.gohugo.io/t/web-based-editor/155/11 "2015-02-25T05:10:06Z")

</div>

What would this take? A Javascript WYSIWYG that saves to Markdown (like on Github) and have Hugo serve that, too? I don’t know if Hugo accepts POST, but if it did, this could be a one-stop solution. Fire up Hugo with `hugo server --watch --wysiwyg` and go to town.

---

<div class="post-metadata">

**Author:** ![SchumacherFM](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/schumacherfm/32/231_2.png) [@SchumacherFM](https://discourse.gohugo.io/u/SchumacherFM)\
**Post date:** [February 25, 2015, 5:15am UTC](https://discourse.gohugo.io/t/web-based-editor/155/12 "2015-02-25T05:15:49Z")

</div>

That should be pretty easy to implement … it only costs time 😉

---

<div class="post-metadata">

**Author:** ![rahul286](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/rahul286/32/48_2.png) [@rahul286](https://discourse.gohugo.io/u/rahul286)\
**Post date:** [February 25, 2015, 4:32pm UTC](https://discourse.gohugo.io/t/web-based-editor/155/13 "2015-02-25T16:32:52Z")

</div>

Just adding relevant links for reference here.

1. [golloum](https://github.com/gollum/gollum) has a web-editor which can be started locally.
2. Gitbook has a [nodejs based editor](https://github.com/GitbookIO/editor) which can be used for offline. They provide download options. I suspect they use similar codebase for their web-based and hosted online editor. Something on lines of [http://prose.io/](http://prose.io/)

Can anybody please clarify which direction this is heading for? Local/offline editor OR hosted/online editor on the web?

---

<div class="post-metadata">

**Author:** ![isaac](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/isaac/32/4508_2.png) [@isaac](https://discourse.gohugo.io/u/isaac)\
**Post date:** [February 28, 2015, 11:13am UTC](https://discourse.gohugo.io/t/web-based-editor/155/14 "2015-02-28T11:13:01Z")

</div>

> [@rahul286](#):
>
> Can anybody please clarify which direction this is heading for? Local/offline editor OR hosted/online editor on the web?

Does anyone have one? @spf13, do you already have some type of vision for this?

The implementation here seems to be the easy part. _Direction?_ That’s the real challenge (IMO). What’s the main objective? Simple content editing? Or something more robust, like a full-blown admin interface? Something in-between?

Perhaps we first need to identify the questions to ask… Then they can be answered… Then an appropriate solution developed.

Here are some questions I see. Just my 2 cents. Please chime in 🙂

* * *

**Questions to discuss / investigate / answer:**

**Q:** _What should be accessible/editable via an interface?_  
**Potential Answers:**

- site content?
- site configuration?
- other?

**Q:** _Primary goal(s) of an editor?_  
**Potential Answers:**

- editing existing content?
- creating new content?
- changing site configuration?
- viewing site stats?
- managing users? _users??_
- managing site assets?
- managing theme(s):
  - style options?
  - current in use (activating, installing, etc)?

**Q:** _Primary/target-users of an editor?_  
**Potential Answers:**

- tech-mined?
- non-tech minded? – _seems likely_
- clients (end users)?
- developers? – _seems unlikely_

**Q:** _Features to include in a Hugo editor?_  
**Potential Answers:**

- create/edit/delete content
- meta-data management
- theme management
- white-labeling/branding

---

<div class="post-metadata">

**Author:** ![bep](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/bep/32/3332_2.png) [@bep](https://discourse.gohugo.io/u/bep)\
**Post date:** [February 28, 2015, 11:17am UTC](https://discourse.gohugo.io/t/web-based-editor/155/15 "2015-02-28T11:17:53Z")

</div>

Good sumary @isaac

As to Q: Primary/target users of an editor?:

I would say non-tech-users. I’m a tech users, and I would still prefer my bash shell over this, but this would be “nice to have” when blogging from a beach somewhere.

---

<div class="post-metadata">

**Author:** ![nomadsagency](https://avatars.discourse-cdn.com/v4/letter/n/7993a0/32.png) [@nomadsagency](https://discourse.gohugo.io/u/nomadsagency)\
**Post date:** [February 28, 2015, 5:29pm UTC](https://discourse.gohugo.io/t/web-based-editor/155/16 "2015-02-28T17:29:04Z")

</div>

The lack of a web-baded editor is the major issue for me with static site generators. I work for an agency and I (we) produce approx one site per month. I love the simplicity of SSG but I’ve never been able to use it for a customer yet, due to the lack of a proper backend. Instead I have to use Drupal or Wordpress which I would like to avoid. I think CMS systems limit our creativity and output.

Clients always ask for the ability to edit content so a Statics site generator is always a “no-no”.

Back to the topic: building a backend that could compete with a CMS would take quite some time. So I’m thinking that integrations to cloud CMS systems like Contentful (uses markup), Cloud CMS or Prismic would be a good (intermediate/additional) option.

I’ve tried some these cloud cms systems and i’m really happy with them. I think that a **good** integration to one these solutions would give:

- faster - integration(s) to these backend would not take that long
- better?
- free up time for developer so they can focus on making Hugo better instead
- options for site builder. They have various cloud cms’s so chose from

I’m aware that these backends are proprietary but it could serve as a option until we got another solution.

---

<div class="post-metadata">

**Author:** ![bep](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/bep/32/3332_2.png) [@bep](https://discourse.gohugo.io/u/bep)\
**Post date:** [February 28, 2015, 6:57pm UTC](https://discourse.gohugo.io/t/web-based-editor/155/17 "2015-02-28T18:57:36Z")

</div>

I normal cases (due to installation issues) I would agree with you, static site generators is a “no-no” for most clients for content-editing.

For Hugo, which is a one-binary-install, I can imagine one could build some simple client side tooling around the hugo(.exe):

- The customer isn’t an idiot (in most cases), and he/she would appreciate the best workflow available; and that is doing the edits in a good local editor with live preview in the browser.
- Most customers have no issues with using a text editor and learning the basic Markdown.
- One could simplify all the “start server” stuff by wrapping Hugo in a client version of such, with a “site browser”, start stop etc.

The above is me thinking loud.

---

<div class="post-metadata">

**Author:** ![gour](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/gour/32/197_2.png) [@gour](https://discourse.gohugo.io/u/gour)\
**Post date:** [February 28, 2015, 8:42pm UTC](https://discourse.gohugo.io/t/web-based-editor/155/18 "2015-02-28T20:42:39Z")

</div>

nomadsagency [discuss@gohugo.io](mailto:discuss@gohugo.io) writes:

> The lack of a web-baded editor is the major issue for me with static  
> site generators.

[…]

> I’m aware that these backends are proprietary but it could serve as a  
> option until we got another solution.

Nikola Python-powered SSG has something  
([Plugins for Nikola](http://plugins.getnikola.com/#webapp)) which might be worth to take a  
look at…

Sincerely,  
Gour

---

<div class="post-metadata">

**Author:** ![isaac](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/isaac/32/4508_2.png) [@isaac](https://discourse.gohugo.io/u/isaac)\
**Post date:** [March 2, 2015, 4:02pm UTC](https://discourse.gohugo.io/t/web-based-editor/155/19 "2015-03-02T16:02:08Z")

</div>

> [@nomadsagency](#):
>
> So I’m thinking that integrations to cloud CMS systems

Shouldn’t this already be possible via the new “[dynamic content](http://gohugo.io/extras/dynamiccontent/)” feature in Hugo?

---

<div class="post-metadata">

**Author:** ![isaac](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/isaac/32/4508_2.png) [@isaac](https://discourse.gohugo.io/u/isaac)\
**Post date:** [March 2, 2015, 4:07pm UTC](https://discourse.gohugo.io/t/web-based-editor/155/20 "2015-03-02T16:07:28Z")

</div>

After reading a bit more about Hugo’s dynamic content feature (haven’t used it yet), it seems that one possible thing preventing this type of setup (using it to with a content management api service) would be authentication. From the docs:

> Currently you can only use those authentication methods that can be put into an URL. OAuth or other authentication methods are not implemented.

Thoughts?

[Next page](https://discourse.gohugo.io/t/web-based-editor/155.md?page=2)
