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 run
now 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
Component
implementations for markdown rendering (Markdown
), video playback (VideoPlayer
), and the ability to use Plot'sAudioPlayer
component with Publish'sAudio
models. - 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.Body
type can now also be used directly as a Plot component. - You can now specify what Git branch to deploy to when using the
.git
and.gitHub
deployment methods (by @Kilo-Loco). - If you generate a website called "Website" using the Publish CLI, the generator will now prefix the
Website
protocol withPublish
as to not cause conflicts with the website definition itself (by @sviatoslav). - When generating site map files, the
excludedPaths
argument 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
publish
command 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
itemPredicate
when using thegenerateRSSFeed
publishing 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
outputFolderPath
when 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 run
command now gives clearer instructions on how to stop it, by @honghaoz. - The
publish run
command is now compatible with both Python 2 and 3, by @hisaac. - The
publish new
command 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
Output
folder 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
rawValue
within a website'sSectionID
enum, 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
SectionID
enum. - You can now specify an RSS
titleSuffix
for items. - Publish is now using version
0.3.0
of Ink.
This release also includes documentation improvements by @alexito4.
Publish 0.3.0
- When generating a new project using the
publish new
command 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 run
command line tool (by @jlorfeo). - The
publish run
tool will now also correctly shut down itslocalhost
server when it exits, and its error messaging has been improved. - External resources can now be referred to using
Path
instances, such as when specifying CSS files using the built-inhead
Plot component. - The Git deployment method will now output much richer error messages in case an error occured (by @ytyubox and @sindresorhus).
- An item’s
path
can now be overriden using thepath
Markdown 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/item
it will be generated atOutput/yourSection/path/to/item
(by @tonisuter). - You can now exclude an entire section from a website's
sitemap.xml
by 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.
RSSFeedConfiguration
andPodcastFeedConfiguration
are 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.