ProCourse Static Pages

I’ve been doing freelance Discourse customization as my primary gig for almost a year at this point. And one of the most common questions I get is about static pages. “Can I just create a static sales page?” “Where’s a good place to put a FAQ without a discussion around it?”

You can likely argue the validity of these questions in most scenarios. The main response being “just close the topic.” But that doesn’t cut it for most. Thus, I decided to create this plugin to make it possible.

It’s pretty simple. You get a backend under Admin > Plugins to create, edit, and delete these pages as you like. It uses the same topic composer we’re used to. Once you have the page built, you can Enable it and share the link to the page wherever you like.

For a demo: https://talk.procourse.co/static-page

I should also note that styling is made easier with a class static-page in the wrapping div for the whole page. That way you can do whatever you want to the body of the page from a CSS standpoint in a theme.

42 Likes

This is easily the biggest request I’ve had for the Static Pages plugin:

There is now a checkbox on each page to switch from using the composer to adding raw code for the content.

It uses the same ace-editor we use when building themes. So it should feel very familiar.

8 Likes

Would it be possible to use this plugin to create pages that are readable by the public, without a login, on Discourse sites that are set to be private?

In the same way that the terms of service and privacy policy are?

I have found that by default the static page plugin URLs redirect to the /login page on sites that are private.

4 Likes

Having some issues… checking the html box makes this disappear:

3 Likes

Are you getting anything in the error logs on this one? Or even in the console? I’m not finding any issues with it on my end.

I know. I know. Typical developer response. :wink:

3 Likes

Would it be possible to share files via a static page, e.g. Word, PDF or JPEG files?

It uses the same composer as we use for new topics and posts. So if you can post it there, you can post it in a static page.

3 Likes

Good to know! That might be a better way to share documents that are being updated from time to time.

1 Like

I had the same issue so I had a quick look and it seems the ACE editor has 0 height!

I just pushed a big update to this plugin with the following changes:

  1. It’s been renamed to ProCourse Static Pages. I’m slowly deprecating the Discourse League naming in favor of ProCourse.

  2. The license key process has been removed. It’s now completely free. :wink:

  3. The issues with the ACE editor should be resolved as well.

  4. There is a background job that runs once automatically to copy over any legacy pages you may have had in the old version. So you should be set to simply upgrade. :+1:

21 Likes

Just tried this out and get 404s when I try to view the page(s) I created, any thoughts as to why?

1 Like

There’s a button under the page title for Enable/Disable. Do you have it Enabled?

4 Likes

Hah, wow. :man_facepalming: that was totally it.

2 Likes

It’s set up that way so you can build the page without it being public. :wink:

3 Likes

Nice you did open it for everyone.

There are some possibilities that opens here for me:

  • group based view permissions
  • something like a “template system”, right now i need to put the same html around all my static pages to fit my themen / layout.
  • some kind of automatic sidebar / navigation generation

I’m using your plugin - which is great - to create a couple of static pages for a Discourse instance I’m installing. Two questions:

  • Is it possible to add links to the pages in the hamburger menu in the top right?
  • Can links to the static pages be added next to the About, FAQ, etc. pages when one visits the my.discourse.instance.com/about page?

Thanks!

I can’t say that’s a location I’ve attempted to alter in the past. I know you can override the template and get it done, but other I avoid that path unless I have to take it.

3 Likes

That’s great, thank you!

1 Like

I tried to install this - added the git to my app.yml:

hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- mkdir - p plugins
- git clone https://github.com/discourse/docker_manager.git
- git clone https://github.com/procourse/procourse-static-pages.git

Rebuilt the container, and I have the admin menu present, but it doesn’t load:

I get 404 errors in the console:

_ember_jquery-27e777…4259cf6cda.js:29446 undefined

u @ _ember_jquery-27e777…4259cf6cda.js:29446

/procourse-static-pa…n?_=1538997284313:1 Failed to load resource: the server responded with a status of 404 ()

_ember_jquery-27e777…4259cf6cda.js:29446 undefined

Doubtless I’ve done something dumb but it seems to me a fairly simple process and I can’t see where I have gone wrong! Help please! :slight_smile:

Do you have the error backtrace in /logs that corresponds to this? That always helps significantly with debugging as I’m not seeing this error on any of the sites where I run this plugin.