Shy Bloggers

Most bloggers and posters want as many people as possible to read or see their amazing antics and ideas. I’m providing a blog for a group of writers who don’t.

Every writer I’ve met dreams of “being published”, but a publisher is unlikely to touch something that has already, kind of, been published particularly if on a social medium. This group wants to read each other, reveal “work-in-progress”, write collaboratively and critisise each other; Hugo can help them to do that.

Anyone else with a similar situation? Any themes, suggestions or techniques for maybe a security splash page to stop crawlers, back doors, hidden files that don’t appear in the about/index, or anything that might be vaguely helpful? If you have, then please don’t keep it a secret!

Make the home page “http://example.com/jfidjsu/index.html” and never publish that URL. It’s obfuscation, but it’s effective at hiding things from bots.

That’s very helpful @michael_henderson but it might take a while to get my head around the contortions.

Presumably I can serve a “dummy” site as normal but put the folder jfidjsu alongside those dummy folders for archetypes, content, layouts, static, themes – run hugoserver as per usual to serve the dummy site.

Then place the “real” archetypes, content, layouts, static, themes folders inside jfidjsu and run a parallel hugo server from jfidjsu. But with baseUrl adjusted. And log the adjusted hidden site address with Disqus. Is that going to work? Any other adjustments needed?

I’ll try that now and get back (might take me a day).

What I would do for a given site http://mysite.com:

Have to configs:

Main, public site, config.toml:

baseurl = " http://mysite.com/"

Secret site, config_secret.toml:

baseurl = " http://mysite.com/jfidjsu/"
publishdir: "public/jfidjsu"
contentdir: “content_fidjsu”

Then build both in this order:

hugo --config config.toml
hugo --config config_secret.toml

This way the two sites will have total separation, no listing in sitemap.xml from one to the other etc.

Both share layout files etc. but have content (md files) in separate folders.

Disclaimer: I haven’t tested the above, but it should work.

As to hugo server, it will work with one of the sites at a time (or run two servers on different ports), but you can easily publish to another server when you are happy.

@bjornerik your site build works like a dream. It does everything I want including linking with Disqus. It serves over the internet with my usual hugo server command.

Perfect, except that it builds the ‘secret’ blogs into the ‘main’ index.html front page.

So I am left with these questions to find a quick and dirty work-around:

Are there blog themes that do not list all pages in the index file? (I’m currently using purehugo - so alternatively - where can I hack out the list display?)

Is there a way to deflect www.mysite.com/nopath to some doc.html other than index.html (whilst in watch mode)?

Can hugo contruct an index file with a messy filename (to produce further obfuscation - nice word @michael_henderson)?

Or, yet again, am I missing somethng obvious?

If the secret blog posts show up on /index.html, I don’t think you followed my suggestion to the point.

Having two content-dirs on in the root should not mingle content:

./conent
./content_fidjsu

@bjornerik - you are completely right!!!

I had the remnants of a previous experiment in my /content folder (a copy of my ‘hidden’ folder) giving that false effect. [blushes]

I now have the folder “/content” and “/content_fidjsu” sitting side by side and I have a very good solution for my situation. And I have learnt something useful about he way hugo can be manipulated. I am very happy. Although, technically, the secret content is accessible to a brute force ploy should anyone know it is there.

I am still interested should anyone have a different response to the original issue.

There are very few things in the known universe that can’t be broken through brute force. You indicated that your group was trying to remain private. This solution does that very well. If you want to through up more layers (such as .htaccess, IP filtering, etc), you’re going to have to work with your web server.