Website script - stupid but important question how to easily run script without manually selecting and GO in Scriptor window

Title is self-explained, but…

My actual process is, if I am in website collection and want to regenerate site, I must select Play script in Transfer menu, then manually selecting script file (little bug, this dialog don’t remember last directory, its annoying) and select file and then click Go button on scripture dialog.

Hope it can be done easiest way, because these steps I must do several times on day and its little frustrating. Some ideas to one-step do this?

I think a useful tactic to save time when running a script may be to check out the Mirror Your Notes section in the Knowledge Base.

It looks like if you make the subdirectories ./mirror, ./mirror/templates and ./mirror/scripts in your Collection directory, you can generate your web pages by selecting Transform -> Mirror All Notes from the menu.

The only cost may be that you would likely have to rearrange the directory that you’re working with in order to properly mirror the collection and adjust the templates and scripts that you’ve already written to reflect these changes.

I hope that this is helpful.

Thanks for your feedback, Michal!

The next release should fix the problem with remembering the last directory from which a script was run.

That being said, I almost always start work on a project by opening its enclosing folder as a Parent Realm. I then get a list of Collection(s) and scripts within that folder.

I can then simply double-click on a script file name in order to open it within the Scripter window.

I then click on Go in order to run the script.

Once I have the parent realm window open, I just leave it open, so that I can just double-click again on the script file name to rerun the script.

Also, if you leave the Scripter window open, then you can generally rerun a script just by hitting the Go button again.

Also, my Essential Collection is a Project Launcher collection in which each Note points to an enclosing folder for a project, so that I can just double-click on a project to open it as a Parent Realm.

Hope this helps!

Hi, many thanks, but, sadly, not.

Scripting for mirroring does not same work as scripting generaly. For example, Site index, site tags-cloud etc, does not work with mirroring, so its need to run classic script made to generate website. I am using script in website template, no edits in script bud many changes in templates.

Thanks

1 Like

Okay, i know these tricks, but… hmmm… Is it possible to add Play last script to menu Transfer as quick and easy solution? May be helpfull for others who are running their scripts often too.

Try changing the modifier that declares the type of data source that you’re using in your script.

For example if you have a line like

input open notenik-defined /Users/michalrada/Documents/mynotenikcollection

Try changing it to

input open notenik-general /Users/michalrada/Documents/mynotenikcollection

And see if that works.

Input Module Parameters

ps.

I understand that it’s possible that you’re using a screen reader to browse the web. If the preformatted text in my posts are an inconvenience to you please let me know.

I am not using any script for mirroring, I am using only defined template.

In website generated by script it works great, but not in mirroring.

1 Like

Yes, I think this is probably a good idea. Thanks for the suggestion! See the 12.4.7 beta to try out the proposed implementation and let me know how it works for you.

I assumed that you wanted something that would rerun the last script immediately, without waiting for you to click any further buttons. I used the term “rerun” rather than “play” to reduce expectations that the command would wait for further authorization before proceeding.

Thanks, it works fine, but script not remembered between sessions. Why not to store last script pat in collection configuration info file? It may retain it to next run. Small idea.

Well, it was sort of a trade-off.

I get that, when you’re working on a site, you often want to rerun a script to see the results of your efforts, and so I wanted to minimize the friction in making that happen: so no additional prompts or buttons, just run the thing.

But then, if you’re just launching Notenik, will you really remember accurately what the last script was that you had run – maybe the day before? If you’re only working on one site, and only have one script, then probably not an issue. But I also had to consider the use case of having multiple sites and/or scripts. And in that case, I thought it might be kind of dangerous to give the user a way to run the last script played, without having them verify that the one about to run is actually the one they intend to run.

Hope this makes sense, and is not too annoying!

1 Like