Using AppleScript to create HTML templates is an option and Christopher's example is excellent in that regard.
BBEdit also offers some powerful tools to create/use customizable HTML templates with AppleScript placeholders. Check the BBEdit manual for: • Chapter 11: BBEdit HTML Tools, Templates, p. 312 • Appendix C: Placeholders and Include Files, p. 413 • Appendix C: Including AppleScripts, Including Unix Scripts, p. 421 Similar placeholder techniques can be used to create HTML Clippings, see the manual: • Chapter 12: Clipping Substitution Placeholders, p. 321 HTH Jean Jourdain On Tuesday, October 5, 2021 at 3:33:05 AM UTC+2 [email protected] wrote: > On Oct 04, 2021, at 18:30, Sonic Purity <[email protected]> wrote: > > I cannot figure out how to use AppleScript to create a new HTML document > from an existing template file, as i easily do manually via ^⌘N then select > my template then type in the title in the Title field and tap Create. > > ------------------------------ > > Hey Sonic, > > That's easy enough if you already know how, but not so much if you don't. > > Recording is relatively useless – *except* for discovering the syntax for > some things that are really difficult to suss out. A recorded script > very often takes a lot of editing to convert from a very verbose and > literal recording of actions to something that rationally makes sense to > user, computer, and task. > > Here's a sample template. Note the underlined bold tags – these are > placeholders you can tab to in the open document. > > ------------------------------ > > <!DOCTYPE html> > <html> > <head> > <title>*<#TITLE#>*</title> > <meta name="generator" content="BBEdit Prerelease" /> > </head> > <body> > *<#HTML_BODY#>* > </body> > </html> > > ------------------------------ > > You *can* use an AppleScript dialog to enter the title, but placeholders > are easier. > > This script uses the template-path defined with *property* > * templateFilePath*. > > It also contains code to demonstrate the use of an embedded template > (commented-out). > > -- > Best Regards, > Chris > > ------------------------------ > > -------------------------------------------------------- > # Auth: Christopher Stone > # dCre: 2021/10/04 20:07 > # dMod: 2021/10/04 20:07 > # Appl: BBEdit > # Task: Create a New HTML Document Using a Template File. > # Libs: None > # Osax: None > # Tags: @Applescript, @Script, @ASObjC, @BBEdit, @Create, @HTML, > @Document, @Template > -------------------------------------------------------- > *use* AppleScript version "2.4" --» Yosemite or later > *use* *framework* "Foundation" > *use* *scripting additions* > -------------------------------------------------------- > *property* templateFilePath : "~/Documents/BBEdit > Documents/Templates/HTML_Template_01.txt" > *property* defaultWindowBounds : {202, 45, 1238, 900} --» {X1, Y1, X2, > Y2} Upper-Left, Lower-Right > -------------------------------------------------------- > > *set* templateFilePath *to* ((*current application's* NSString's > stringWithString:templateFilePath)'s stringByExpandingTildeInPath) *as* > *text* > *set* templateText *to* *read* templateFilePath as «*class* utf8» > > *tell* *application* "BBEdit" > # Create from a template FILE. > *set* newDoc *to* *make* new *document* with properties {*text* > :templateText} > > > # Create using embedded template TEXT in handler getTemplateText(). > # set newDoc to make new document with properties {text:my > getTemplateText()} > > > *tell* newDoc > *if* *its* source language ≠ "HTML" *then* *set* *its* source > language *to* "HTML" > > > *tell* *its* *window* > *if* *its* bounds ≠ defaultWindowBounds *then* > *set* *its* bounds *to* defaultWindowBounds > *end* *if* > *end* *tell* > > > *end* *tell* > > > *end* *tell* > > -------------------------------------------------------- > # Template Text > -------------------------------------------------------- > *on* getTemplateText() > *return* *text* 2 *thru* -1 *of* " > <!DOCTYPE html> > <html> > <head> > <title><#TITLE#></title> > <meta name=\"generator\" content=\"BBEdit Prerelease\" /> > </head> > <body> > <#HTML_BODY#> > </body> > </html> > " > *end* getTemplateText > -------------------------------------------------------- > > > -- This is the BBEdit Talk public discussion group. If you have a feature request or need technical support, please email "[email protected]" rather than posting here. Follow @bbedit on Twitter: <https://twitter.com/bbedit> --- You received this message because you are subscribed to the Google Groups "BBEdit Talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/bbedit/dac3fbba-a8aa-4bbc-b3ff-39a9a34ad90dn%40googlegroups.com.
