Releases: JohnSundell/Publish
Releases · JohnSundell/Publish
Publish 0.9.0
- Publish now requires Swift 5.5 and macOS 12.0 Monterey (or an equivalent Swift installation on Linux).
- Many aspects of Publish now run concurrently, which vastly speeds up the generation of larger websites when Publish is used on a machine with a multi-core CPU.
- Git-based deployment is now more reliable regardless of what branch name that's used (by @schrismartin)
publish runnow always uses Python 3 for better compatibility with macOS Monterey.
This release also includes documentation improvements by @omaralbeik and a CLI fix by @uhooi.
Publish 0.8.0
- Publish now uses (and requires) Swift 5.4.
- Full support has been added for Plot's new component-based API, with dedicated
Componentimplementations for markdown rendering (Markdown), video playback (VideoPlayer), and the ability to use Plot'sAudioPlayercomponent with Publish'sAudiomodels. - Since Publish now contains a type called
Markdown, if you want to refer to Ink's type with the same name, you have to useInk.Markdown. That's the only potentially breaking change within this release, and should hopefully not have a big impact on any Publish-based code base. - The
Content.Bodytype can now also be used directly as a Plot component. - You can now specify what Git branch to deploy to when using the
.gitand.gitHubdeployment methods (by @Kilo-Loco). - If you generate a website called "Website" using the Publish CLI, the generator will now prefix the
Websiteprotocol withPublishas to not cause conflicts with the website definition itself (by @sviatoslav). - When generating site map files, the
excludedPathsargument is now interpreted as a prefix, rather than using absolute string matching, which enables you to exclude entire sections/folders at once (by @bensyverson).
Publish 0.7.0
- The
publishcommand line tool can now generate projects for building plugins, usingpublish new plugin. - A predicate can now be applied to filter which items that should be included when generating a podcast feed.
Publish 0.6.0
- Publish now requires Swift version 5.2.
- If a Markdown file doesn’t contain a title (H1), that file’s name is now used as a fallback for the corresponding item’s title (by @bensyverson).
- Items can now be filtered out of a given RSS feed by passing an
itemPredicatewhen using thegenerateRSSFeedpublishing step. - An item’s body can now be prefixed and suffixed when it appears within an RSS feed.
- Items can now be removed from a section (by @peteschaffner).
- When writing a custom deployment method, you can now pass an
outputFolderPathwhen creating a deployment folder for it, to have the website’s output copied into a nested folder (by @BaGuIO and @john-mueller).
Publish 0.5.0
- The
publish runcommand now gives clearer instructions on how to stop it, by @honghaoz. - The
publish runcommand is now compatible with both Python 2 and 3, by @hisaac. - The
publish newcommand will now generate a project that better reflects its folder name, especially when numbers and underscores are used, by @natanrolnik. - Any hidden files within a project's
Outputfolder are now cleaned up before each publishing process begins, by @Hejki. - Publish now ships with the latest versions of Ink, Plot and Sweep.
This release also contains documentation improvements by @Ze0nC, @alex-ross and @navanchauhan.
Publish 0.4.0
- The Foundation theme now correctly renders content for stand-alone pages.
- The Foundation theme's CSS has been improved when using multiple sections.
- When using a custom
rawValuewithin a website'sSectionIDenum, that is now taken into account during the generation process (by @Goosse). - When iterating over a website's sections, the iteration order is now predictable and follows the order that the website's sections were defined in within the
SectionIDenum. - You can now specify an RSS
titleSuffixfor items. - Publish is now using version
0.3.0of Ink.
This release also includes documentation improvements by @alexito4.
Publish 0.3.0
- When generating a new project using the
publish newcommand line tool, any camelCasing within the current folder’s name will now be preserved in the project’s default name (by @wacumov). - A custom port number can now be specified when running the
publish runcommand line tool (by @jlorfeo). - The
publish runtool will now also correctly shut down itslocalhostserver when it exits, and its error messaging has been improved. - External resources can now be referred to using
Pathinstances, such as when specifying CSS files using the built-inheadPlot component. - The Git deployment method will now output much richer error messages in case an error occured (by @ytyubox and @sindresorhus).
- An item’s
pathcan now be overriden using thepathMarkdown metadata property (by @dmonagle). - Publish now ships with Files 4.1.1 and Plot 0.5.0.
- The Foundation theme's default CSS has been improved.
This release also includes documentation improvements by @NSBrianWard, @daniloc, @antonio081014 and @labradon.
Publish 0.2.0
- When using the command line tool
publish run, the local web server's address is now prefixed withhttp://, which enables you to click it to open your site in your web browser (by @slashmo). Also, if any error was encountered when starting that server, it's now reported to the user (by @camdeardorff). - Nested items are now generated at the correct path. So if you place a content item in
Content/yourSection/path/to/itemit will be generated atOutput/yourSection/path/to/item(by @tonisuter). - You can now exclude an entire section from a website's
sitemap.xmlby including its path inexcludedPaths(by @artrmz). - Plugins can now easily be added when using the default publishing pipeline, using the
plugins:argument (by @slashmo). - RSS/podcast feeds are now only re-generated when their content was changed.
RSSFeedConfigurationandPodcastFeedConfigurationare now value types.- A podcast/RSS feed's publishing date can now be customized.
- Attempting to publish a website with an empty pipeline now throws an error.
- Publishing steps can now easily create and use cache files, using
PublishingContext.cacheFile(named:). - Publish now uses version 0.4.0 of Plot.
Also thanks to @fbernutz, @danielmgauthier and @brettkoonce for fixing spelling errors in the documentation.
Publish 0.1.0
Initial release of Publish.