Skip to content

Blogging in Drummer #30

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
scripting opened this issue Aug 12, 2021 · 145 comments
Open

Blogging in Drummer #30

scripting opened this issue Aug 12, 2021 · 145 comments

Comments

@scripting
Copy link
Owner

If you have questions about Blogging in Drummer, this is a good place to ask.

@mistersugar
Copy link

I am following the instructions and they are working easily. Results at http://oldschool.scripting.com/mistersugar/

I am trying the PagePark instruction now, thinking that the code needs spaces before/after the curly brackets. Will wait a few minutes to see if the new Drummer blog shows at http://test.stor.im. May have to update PagePark.

More testing and notes to come ...

@scripting
Copy link
Owner Author

scripting commented Aug 12, 2021

Thanks for checking this out! ;-)

Whitespace is not significant in JSON, as far as I know.

This is literally the text of the config.json for clueless.lucky.wtf.

{"s3ServeFromPath": "/oldschool.scripting.com/cluelessnewbie"}

@allenwb
Copy link
Collaborator

allenwb commented Aug 12, 2021

These are comments and questions from my first read-through of "Blogging in Drummer". Probably the major value of them is as unrefined first impressions.

Overall impression, the writing is fine but is implicitly making a lot of assumptions about what the reader knows/understands about Dave's blogging style and software stack. For a broader audience those assumptions won't apply and more explanation will be needed.

You introduce that "Old School is a blogging CMS" and explain how it fits together with Drummer and PagePark. The CMS most people are likely to be familiar with is Wordpress which is pretty heavy weight end-to-end solution: an Editor, a content storage "data base", a deployment engine (ie, site generator), dynamic page generation on the web server, etc. When used together with Drummer and PagePark, Old School seems like is just a piece of the overall CMS system you have built.

Am I correct in my impression that Old School is essentially a "static site generator"? If so, I think it would be clear if you had said "Old School is a static site generator for bloggers" and built upon that summary description. My conceptional model is:

Drummer CMS System:

  • Drummer: outline-based authoring editor and editorial content storage.
  • Old School: outline-driven static site generator
  • PagePark: (optional) web server for statically generated sites

The other preconception that readers are likely to have concerns "what is as blog"? We know what Dave means by "blog" but the hypothetical broader audience probably doesn't. They are probably thinking about magazine-style "blogs" with relatively long and infrequently added articles. You might want to clarify that. Also, is Drummer+Old School a good solution for article length posts? It seems to me that when you write those you usually publish them as a distinct page that you link to from your blog. Would you write the article in Drummer as a separate outline and then link to it from a post within blog.opml?

Is the name blog.opml special? If I have multiple blogs can I have multiple blog opml files in a single Drummer instance?

It appears to me that PagePark is completely optional—it's just a web server and I could deploy to any server I might be using. So, presumably what Old School actually emits is just a set of files arranged in a directory hierarchy and when using an alternative server I would need to provide my own deployment steps.

That's just my first round thoughts. Don't feel obliged to answer everything that has a "?" above. They aren't really questions but more a reflection of my process of digesting what you wrote.

@dsearls
Copy link
Collaborator

dsearls commented Aug 12, 2021 via email

@mistersugar
Copy link

I have a singular post that has attributes of created (with the date) and type (outline). It shows the page icon next to the node. I had used the + button to create this post.

I have another singular post that has only the attribute of created (with the date). It has the carat icon next to the node. I had hit return from that other singular post to get this node.

Both singular posts are displayed in the same way on the blog.

I understand that the advantage of using the + to create a new post is that it correctly creates the nodes for the month and the day. (I tried to create a post for July 20 but that didn't seem to work; I'll have to try this again and document my effort to correctly report here.) After that, is there any disadvantage to creating a new post by simply hitting return? That is, is there a reason or advantage for the attribute of outline for a singular post?

I've noticed this in LittleOutliner before but never documented my question. I should have. But Drummer gave me a new perspective. :)

@mistersugar
Copy link

mistersugar commented Aug 13, 2021

Dave, blogging with Drummer is a joy. Very smooth. I've selected "Build my blog" seemingly a thousand times as I've adjusted and corrected and tested. Is that a problem or is there a limit?

Also, I like that the build tool is the bottom of the Tools options, which made it easy for me to keep selecting it. But I accidentally selected 'Outline file hierarchy' once and didn't see that Drummer had inserted nodes into my blog outline. Easily corrected.

I did briefly find myself wishing Drummer had the formatting tools (link, bold, italics) that you built into 1999.

@scripting
Copy link
Owner Author

scripting commented Aug 13, 2021

Good morning! Nice to see the comments here...

First to @allenwb's questions/comments.

  1. These docs were written for you and the others who are testing the product.

  2. PagePark is indeed optional. I put that note in the docs because there was a user trying to make LO2 work the way Drummer can now work, and when he is part of the group he will need that info.

  3. If you follow the instructions in the very first part of the doc, the Getting started section, you will have a completely hosted blog. No need to run any kind of server. The note about PagePark is just for customization, if you want to use your own domain name, instead of something like this.

  4. Drummer + Old School is a fantastic way to write article-length blog posts. That's the difference between a singular post and a titled post, as described here.

  5. The name blog.opml is special. In this setup you can only have one blog per account. It will be possible to set things up differently, with some programming, to have as many blogs as you want emanate from a single Drummer account. I can explain how at a later time, but it is doable. But, not in this setup.

To @dsearls...

  1. Of course what I'm doing is blogging. I've never had to explain that.

  2. I don't care about getting a huge number of people doing blogging with Drummer. I want it to be useful to the people who do use Drummer. I want the people who create outliners to plug into Old School the way Drummer does. I want the new outlining to be open, with "small parts loosely joined" as described by our mutual friend, another Dr Dave. ;-)

To @mistersugar...

  1. You really do have to use the + icon to create stuff for your blog. Imagine if the + weren't there, what would the instructions look like and how error-prone they would be. You have to get things exactly right if you do it "by hand" which you can do, but why would you?

  2. Old School is fairly tolerant of omissions, but not when it comes to dates in the calendar structure. This has a perhaps not-apparent advantage that you can put other stuff in your blog.opml outline, which may come in handy in the future. 😄

  3. There's no limit to the number of times you can build your blog. Party down Anton! Also I understand how cumbersome the Build my blog command can be. I wasn't going to put it in there at first, I was going to give you instructions for adding your own icon to the icon bar that would build the blog without bringing the blog to the front, and with no danger of hitting the wrong command. I will do that shortly and post a pointer here. That's how I build my blog, Scripting News.

BTW, in defense of @allenwb -- he's been an incredibly helpful member of this test group because he's one of the leading experts in the world on the JavaScript language. We're doing some daring things with the language in Drummer, and having him as an adviser and friend has made a huge difference. @dsearls is an expert in blogging and marketing, and other related stuff. I have a lot of experience writing docs, and I don't have any problems calling Old School a blogging CMS. I basically invented the idea of a blogging CMS, and blogs for that matter, so if anyone objects they can kiss my ass have a nice day. 💥

@scripting
Copy link
Owner Author

@mistersugar -- as promised, a recipe for adding an icon that builds your blog.

http://docserver.scripting.com/drummer/blogging.opml#1628861390000

@scripting
Copy link
Owner Author

scripting commented Aug 13, 2021

@mistersugar
Copy link

mistersugar commented Aug 13, 2021

Confirming that the RSS feed works. I grabbed it from the bottom of the page and included it in the River of News I monitor at river.zuiker.com and my Drummer posts show up (albeit way down the river after some podcast feed I must also have added recently).

@mistersugar
Copy link

I posted additional items today, including a titled post followed by a singular post. In the blog, there's not much of a divide between the two (other than the Twitter RT icon), which makes the singular post feel as if it is part of the titled post. I know that I can reorder the posts, but maybe I want the titled post to be higher. Should this be a style choice for a user to define, or should it be different by default?

@scripting
Copy link
Owner Author

@mistersugar -- I might have some ideas how to do it, to make it so a titled post stands off from a singular post that comes after it. Maybe put a light box around the titled post? In the meantime, I recommend putting the singular posts first, followed by the titled post. I've been doing it that way forever. ;-)

@scripting
Copy link
Owner Author

I just wrote a fun post.

http://scripting.com/2021/08/13/194244.html?title=wereCooked

@mistersugar
Copy link

mistersugar commented Aug 13, 2021

Dave, I have not been able to get the cloud-upload icon to show up in the iconbar.

I have attempted this in both Safari and Firefox, and have cleared the cache and reloaded and signed out of Twitter and back in. Still no icon in the iconbar. I even checked the console for errors but don't see anything related.

I suspect I have not entered the code correctly, so a screenshot of my Iconbar file here.

UPDATE: Talked to Dave, expanded the browser window to full extent of my laptop window, and there the icon was.

@andysylvester
Copy link

got my Old School blog started, and linked to Ken Smith's blog - fun!

http://oldschool.scripting.com/AndySylvester99/

@mistersugar
Copy link

Thank you for the urlHeaderImage options, Dave. I added that to the OPML headers, and also made a change to the description for my blog. No amount of building the blog or refreshing the page would show the changes, but once I added a new post and built the blog, the header image and description refreshed. Perhaps as expected, but documenting my usage anyway.

@scripting
Copy link
Owner Author

I documented that behavior. It's in the blogging docs.

@akaKenSmith
Copy link
Collaborator

akaKenSmith commented Aug 14, 2021

About the question in the thread above of readers easily telling apart the titled posts and the untitled posts...one day in now, and I'm finding the different placement of the RT icon a very natural signal, and the concern has dropped away for me.

@akaKenSmith
Copy link
Collaborator

akaKenSmith commented Aug 14, 2021

urltweet

Smooth sailing again this morning with a few brief Drummer posts. The include-a-tweet function is a real pleasure. http://oldschool.scripting.com/KenSmith/2021/08/14.html#a120830

@scripting
Copy link
Owner Author

scripting commented Aug 14, 2021

I like the way you're using it.

http://oldschool.scripting.com/KenSmith/

I think we have to do a lot better with titled posts that come before singular posts.

Also, I see you're doing whole-headline links, I never do that, so I'm unaccustomed to how they are presented. Not sure I like it. (This is self-criticism btw.)

@mistersugar
Copy link

@akaKenSmith Nice Drummer. I'm unclear how you get the URLs in smaller size to display at the end of a post. Is that a function of Twitter, formatting in Drummer, an attribute, or some other practice that I've missed in the docs?

Repository owner deleted a comment from andysylvester Aug 15, 2021
Repository owner deleted a comment from andysylvester Aug 15, 2021
@scripting
Copy link
Owner Author

@mistersugar -- this is how @akaKenSmith did it...

  1. Get the URL on the clipboard.

  2. Click on the wedge next to the headline you want to link from. It's important to click on the wedge so you have the bar cursor, not the text cursor.

  3. Click the link icon.

  4. Paste the URL.

  5. Click OK.

  6. Build the blog.

@akaKenSmith
Copy link
Collaborator

akaKenSmith commented Aug 15, 2021

inlineImage

My first attempt at posting an inlineImage worked smoothly. I like the way the text displays with and under the image when the text has been posted in the same line of the outline as the inlineImage command. I'll try other arrangements too.

http://oldschool.scripting.com/KenSmith/2021/08/15.html

Repository owner deleted a comment from akaKenSmith Aug 16, 2021
@mistersugar
Copy link

I followed the instructions for creating and using a glossary but am not seeing the expected rendering in my blog.

My glossary.opml is public at http://drummer.scripting.com/mistersugar/glossary.opml

My blog.opml is at http://drummer.scripting.com/mistersugar/glossary.opml and shows the urlGlossary attribute in the headers.

My test post is at http://oldschool.scripting.com/mistersugar/2021/08/21.html#a185626 -- in Drummer I typed "ZChronicles" and expected to see Zuiker Chronicles in the rendered blog.

Please help me know if I've overlooked something or if this is a bug.

For the instructions, it might help to better explain the role of quotations in the glossary file, though the examples provided are easy to emulate (unless this is where I messed up).

@scripting
Copy link
Owner Author

@mistersugar -- I don't see anything obviously wrong, i'll check it out.

re your suggestion for the docs, quotation marks aren't special. any characters that appear at the top level will be substituted if they appear. i use them in my own glossary, as you can see but you could just as easily use a $ in their place, or nothing at all.

@scripting
Copy link
Owner Author

@mistersugar -- there was a bug, I fixed it, and was able to get my test blog to build using your glossary.

http://oldschool.scripting.com/cluelessnewbie/2021/08/21.html

Please try your experiment again, and let me know if it worked.

@scripting
Copy link
Owner Author

@akaKenSmith -- good one. I fixed it in the change node for the 23rd. thanks.

@scripting
Copy link
Owner Author

scripting commented Sep 29, 2021

Fixed a bug in Old School, the software that renders Drummer blogs.

I noticed that there were only five days worth of posts on the cluelessnewbie blog.

But there were many more days worth of blog posts on the site, dating back to mid-August.

Turns out that Old School was counting days on the home page incorrectly.

There's a max of 25 days, it was counting every day as it worked its way back, whether or not I had posted anything that day.

So with 25 as the max, it ran out of days on Sept 4. And thus it didn't look at anything earlier than that.

I had to rewrite the loop so it only counted days that there were actual posts on, and now it works.

You might have been affected by this if:

  • You blog using Drummer.

  • You do it infrequently, as did the cluelessnewbie.

This bug has been in there a long time, but I never saw it with Scripting News because basically I blog every day even if I don't have anything to say. 😀

Confirms that it's even worse than it appears.

@dcoletta
Copy link

Hi! I'm trying out Drummer. I'd like to host my blog at my own domain, but I'm not sure of the best way to do it. I would use PagePark if I had a public-facing Linux box and control of port 80, but I don't. What I do have is a shared web server at pair.com. So the alternative I can think of is to add something to the cloud-upload script that fetches the files generated by drummerCms and FTPs them to my shared web server.

I can see from the DW menu scripts how to fetch files, but I don't know the scripting language so I don't know how to send them by FTP.

Questions:

  1. Is the approach I'm proposing advisable?
  2. If so, could a get a pointer to the scripting documentation for FTP-ing a file, assuming that feature exists?
  3. Alternatively, am I missing some obvious way to do this that would be easier?

@scripting
Copy link
Owner Author

@dcoletta -- thanks for the question, glad you're trying out Drummer.

Drummer only supports HTTP at this time, no FTP support.

Even if you did have FTP verbs, not sure running a script in Drummer is the way to go. The pages are being built in another app, not Drummer. We sort of job it out. ;-)

I don't know the answer. Public-facing Linux servers are pretty cheap these days. $5 a month buys you a lot. You can also run an app for free on Glitch. It takes a few seconds to startup but for $0 it's pretty good. We've been able to run PagePark there. I'd be most comfortable with you using PP if possible, because then we could help you fix problems if there aren't enough config.json options.

I'll think more about it though, I expect this will be a FAQ.

And welcome aboard. :-)

PS: You picked a good place to post this question, how did you find it?

@dcoletta
Copy link

Thanks for the quick reply! I don't mind spending $5/month for a public-facing web server where I can control port 80. I'll also take a look at Glitch. I agree, better if I can run it on PagePark.

Thanks for the welcome, too.

P.S. I found this place by reading all the way to the end of http://docserver.scripting.com/drummer/blogging.opml (linked to from your recent blog post) and then posting where you told me to! :)

@scripting
Copy link
Owner Author

@dcoletta -- excellent. If you don't mind the $5/month, then let's go that route.

I just reviewed the docs for setting up PagePark for this use, and I think it's pretty straightforward.

But I'm happy to help if you need it.

@dcoletta
Copy link

dcoletta commented Oct 10, 2021

I spent a few minutes trying Glitch and ran into what looks like the dateFormat.js problem that you blogged about recently.

SyntaxError: Unexpected token export
/rbd/pnpm-volume/50662e85-510f-48b3-b4db-8879009bd8fd/node_modules/.registry.npmjs.org/dateformat/5.0.1/node_modules/dateformat/lib/dateformat.js:1

I'm a little nervous that if I hit it via Glitch, I'll hit it anywhere else too.

I left a comment about it here.

Also if you have a suggestion for a $5/month host where I can run a web server on port 80, that'd be great too.

@scripting
Copy link
Owner Author

scripting commented Oct 10, 2021

I saw your other comment.

I use Digital Ocean. Great docs, i like their user interface, really reliable.

We'll get past this, I checked PagePark was last updated two months ago, I think the dateformat thing happened since then, i checked pp doesn't directly use dateformat. that doesn't mean something it uses does.

I can't try to work on this now, it's been a long day, but I'll set up a fresh PP install tomorrow morning and if there are problems, I'll see what i can do to fix them.

@dcoletta
Copy link

Thanks, long day for me too. (My "day job" is CTO of a pot shop, so I spent my Sunday writing data visualizations on our customer database.)

@scripting
Copy link
Owner Author

Okay then we'll be really good friends. ;-)

@scripting
Copy link
Owner Author

@dcoletta -- if you download and install PagePark, it should install correctly and run.

Details here.

Let me know if you have more questions, or if you get it working. ;-)

@frankmeeuwsen
Copy link

I want to chime in this discussion on PP as well. I started my blog yesterday on Drummer. I want to host it on my own domain I have hooked up to PagePark on Glitch. Since I installed PP a few months back. It says version 0.8.20 in the package.json. From what I understand I need to update the PP package on Glitch? I did this with npm update but I see no improvement. The domain I use is https://frankmeeuwsen.xyz/ and in the config.json on Glitch it says {"s3ServeFromPath": "/oldschool.scripting.com/frankmeeuwsen"}
I am not quite sure what to do next?

@frankmeeuwsen
Copy link

Small update: For some reason after the update I constantly get errors in Glitch with the "App Status". So I started a new Glitch project with the most recent PagePark git repo. Moved the custom domain from the old to the new Glitch project. I don't get any errors. in the App Status. But in the logs it says: "s3ListObjects: error == Missing credentials in config, if using AWS_CONFIG_FILE, set AWS_SDK_LOAD_CONFIG=1"

I've seen this mentioned in #57 as well. Any thoughts on what might be the case here?

@defjaf
Copy link

defjaf commented Oct 11, 2021

Dave, thanks for making Drummer (and all its infrastructure) available to all! I've been following you and at least playing with your software since the 90s. (And we even met once at Grand Central Station a long time ago...)

Anyway: are there any issues with using Drummer under Safari? On macOS Big Sur 11.6, with Safari 15.1, the "Tools" > "Build my blog…" command doesn't seem to redirect to http://oldschool.scripting.com/defjaf as it should (but it does actually build the page, as far as I can tell). It all works from Chrome.

On a related point, is the http://oldschool.scripting.com/<username> address explicitly documented anywhere? (It shows up implicitly in the PagePark docs, and certainly in some places on this GitHub page, but I don't think it's on the actual "blogging" docs.

@jackbaty
Copy link

@defjaf You might try allowing popup windows (Preferences->Websites) for drummer.scripting.com and oldschool.scripting.com. I seem to remember seeing warnings in Safari when choosing "Build my blog" the first few times, so I allow popups and, although Safari doesn't actually open a new window, it does open the site in a new tab. Worth a try, maybe.

@scripting
Copy link
Owner Author

To @jackbaty, @dcoletta and others interested in custom domains for their blogs. Progress...

#67

@dcoletta
Copy link

I want to change the page top image. I know I have seen a howto on that, but I just spent 15 mins trying to find it again and couldn't. Please, someone, have mercy and remind me? :)

@dcoletta
Copy link

dcoletta commented Oct 15, 2021

I would like to create a second blog published at a different place. I know how to do it under a different Twitter account, and that may well be the right thing. But suppose I wanted to have two blogs under the same Twitter account. I started trying an experiment but it seemed like it was going to crash into my first blog and I couldn't see what to do about that.

Is having two blogs under the same Twitter account supported?

Edit: I can't see how it could work if the build command only takes the Twitter account name as a parameter.

@akaKenSmith
Copy link
Collaborator

akaKenSmith commented Oct 15, 2021

@dcoletta, I was able to set an urlHeaderImage attribute via File > Edit OPML headers and adding an URL for an appropriately sized image that I control elsewhere on the web.

It's been a while, so I don't recall whether the blog has to have something new added, then rebuilt, before the image appears, or not.

@mistersugar
Copy link

mistersugar commented Oct 15, 2021

@dcoletta for header image see http://docserver.scripting.com/drummer/blogging.opml#1628776837000

EDIT: shoot, that's not the right place. Let me look, but do follow Ken's tip.

The post above references instructions but I can't determine where they were at the time.

So maybe this is missing from the Blogging in Drummer doc.

Repository owner deleted a comment from alexjj Oct 16, 2021
@kenbooth
Copy link

kenbooth commented Oct 18, 2021

@dcoletta, I was able to set an urlHeaderImage attribute via File > Edit OPML headers and adding an URL for an appropriately sized image that I control elsewhere on the web.

I can confirm that this works. I used the "Build my blog" function to make the change live. I couldn't find it mentioned in the Drummer docs, but followed @akaKenSmith instructions.

@dcoletta
Copy link

Thanks! I got it to work.

@akaKenSmith
Copy link
Collaborator

akaKenSmith commented Oct 29, 2021

Reporting a small good thing:

HTML has not always been friendly for displaying poetry, often putting too much vertical space between each line of poetry. But I was able to insert a few lines of poetry into a blog post today, and I think it displays nicely in two different browsers. I wrapped some HTML code around five lines of poetry and entered it into a single node of the outline. This is how that node looks in the outline:

<div style="font-size:17px" "font-family:verdana; san-serif"> <br>. . . But peace, like a poem,<br>is not there ahead of itself,<br>can't be imagined before it is made,<br>can't be known except<br>in the words of its making . . .</div>

Here you can view it in the middle of the blog post itself:

http://oldschool.scripting.com/KenSmith/2021/10/29/144015.html?title=revisionoriented

Note: the first <br> has a single space before it--this made the vertical spaces balance before and after the poem.

This could still backfire in some displays, I know. But I was pleased enough that I went ahead and put a two-line poem in under my copyright notice at the bottom of the blog's main page. http://oldschool.scripting.com/KenSmith/

Not sure if this was the right place to post this.

@oevl
Copy link

oevl commented Nov 19, 2021

Using Little Outliner I have lost files opened in a tab, being rewritten with the content on another open file. With LO2 it was a matter of recovering a previous version from Dropbox. But with Drummer that's not the case, the files are on the S3 bucket that Dave shares with us.

Today I lost the contents of my blog.opml file, being replaced with the content of the Change Notes...

This was already reported here #82 so I will move my questions and findings there.

@akaKenSmith
Copy link
Collaborator

@oevl, if you have a backup of your opml files on your desktop--via the dropdown Tools menu--then the drag-and-drop recovery of one or more files works smoothly, I have found. I try to make one of those backups each day, though lately I'm not sure I've been that regular. There is a video from Dave showing the recovery method from your desktop, I'll see if I can locate the link and post it here.

@scripting
Copy link
Owner Author

scripting commented Nov 19, 2021

also @Oevi -- what's your username, your blog.opml file might still be there. worth checking.

i'm thinking that drummer ought to do a backup whenever you load the app. the backups are small and quick, and would come in handy at a time like this.

@oevl
Copy link

oevl commented Nov 20, 2021

@akaKenSmith I should have made a backup before making any change to my blog.opml file, but I just opened Drummer, wrote a headline, clicked on the Change Notes to see what was going on, and the content of my blog.opml file was replaced by the content of Dave's Change Notes, even the OPML Header attributes.

@scripting My username is @oevl (ends with a lowercase L) The file is there, but its content got replaced with the content of the file opened in the tab I clicked next, in this case it was your Change Notes. This has happened to me many times with LO2, having the content of an open file replaced by the content of another opened file, both files on adjacent tabs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests