All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Broken
require
calls Resources
by dropping.json
files
- Broken extension build
- Incorrect code snippets in
README.md
(as indicated in #174)
Thanks @karmeye ConversionRunner
s behavior which caused Chromium instances to sometimes not close properly (as indicated in #188)
Thanks @nixtar
- Unit tests in order to improve stability
- The extension's source code to the
ESModule
format - All dependencies
- All dependencies
- Drone CI configuration for improving automated publishing
- Deprecated
vscode-test
package tsconfig.json
files to improve development experience
- Dependabot workflows
- Support for running unit-tests using the
Mocha Test Explorer
- Error preventing the extension from running at all
Thanks to @DaveyJH for reporting
- All dependencies
- Support for including foreign markdown files using the
markdown-it-include
plugin (#132)
Thanks a ton to Felix Lehoux - Support for applying classes to document sections using the
markdown-it-container
plugin (#132)
Once more thanks to Felix Lehoux
- Broken anchor creation
- Vulnerabilities in dependencies
- All dependencies
- The internal slugifier to make anchors look like the ones produced by GitHub
Once more, thanks to @Postur for pointing this out!
- Renamed a few settings
Have a look at this table to see what the new settings are called like now:Old Name New Name markdownConverter.Document.Design.Template
markdownConverter.Document.Template
markdownConverter.Document.Design.DefaultStyles
markdownConverter.Document.DefaultStyles
markdownConverter.Document.Design.HighlightStyle
markdownConverter.Document.HighlightStyle
markdownConverter.Document.Design.StyleSheetInsertion
markdownConverter.Assets.StyleSheetInsertion
markdownConverter.Document.Design.StyleSheets
markdownConverter.Assets.StyleSheets
markdownConverter.Document.Design.ScriptInsertion
markdownConverter.Assets.ScriptInsertion
markdownConverter.Document.Design.Scripts
markdownConverter.Assets.Scripts
Sorry for the inconvenience - I just really wanted the Design
-category to go away.
- Broken webpack settings
- Broken permalink-creator for anchors and the infamous table of contents creator
- Vulnerabilities in dependencies
- Added support for inserting pictures using Base64-encoding - a huge thanks to @Postur for helping me implementing this feature!
Use themarkdownConverter.Assets.PictureInsertion
to control whether to insert pictures in<img>
-tags based on their paths. This works for the document's body as well as running blocks (the header and the footer)
- All dependencies
- An error in the
Converter
class which prevented users from converting documents located at paths containing a space or documents with a space in their file-name
- The release-scripts to ignore non-zero exit-codes when publishing extensions
- Broken
Include
-insertion
- A missing dependency
- The
README
-file - All dependencies
Hello Everyone Who Still Sticks to MarkdownConverter!
Thank you so much for being patient for such a long time. I finally managed it to fix all issues and add all features people asked for since the last version.
This here is another new major version which introduces a few breaking changes.
You can now control how assets are inserted, headers and footers are arranged correctly now. Also, you can now set the content of the header and footer's sections easily through the settings.
- Broken asset-insertion
This change fixes issue #60 - Thanks to @SjoerdV and @malustewart - Broken dependabot-settings
- Broken release-notes creation
- Drone pipeline-steps for multi-digit version-numbers
- Vulnerabilities in dependencies
- The Converter's handling of files containing accent letters
This change fixes issue #61 - Thanks to @HughxDev and @damgot - The use of assets indicated with relative paths
- The extension to the Open VSX Registry
- Support for loading the
HeaderTemplate
and theFooterTemplate
from files by specifying a file-path asHeaderTemplate
andFooterTemplate
-attributes ormarkdownConverter.Document.HeaderTemplate
andmarkdownConverter.Document.FooterTemplate
settings - Support for specifying a metadata-template using the
MetaTemplate
-attribute or themarkdownConverter.Document.MetaTemplate
-setting - Support for overriding the document-title using the
Title
-attribute
This change fixes issue #63 - Thanks to @orschiro - Support for parallel step-execution in drone-pipelines
- A workflow for merging dependabot-PRs automatically
- A workflow for analyzing the source-code
- Support for the
ts-nameof
plugin - Support for printing error-messages to the converted document if an error occurred
- A setting
markdownConverter.Document.Design.Scripts
for adding scripts to the document - Support for specifying a custom chromium executable-path using the
markdownConverter.ChromiumExecutablePath
-setting
This change fixes issue #74 - Thanks to @tik9 and @orgwem - Support for specifying insertion-types for individual assets and specific link-types using the
markdownConverter.Document.Design.StyleSheetInsertion
, themarkdownConverter.Document.Design.StyleSheets
, themarkdownConverter.Document.Design.ScriptInsertion
and themarkdownConverter.Document.Design.Scripts
settings
This change fixes issue #75 - Thanks to @richardy706 - Support for setting the content of individual header- and footer-sections using the
markdownConverter.Document.HeaderContent
and themarkdownConverter.Document.FooterContent
settings and theHeader
and theFooter
attributes
This change fixes issue #57 - A huge thanks to @GGillan for the suggestion - Support for formatting date-values shorthand using code-snippets such as
{{ CurrentDate "HH:mm:ss" }}
- An error-message if no conversion-type (the
markdownConverter.ConversionType
-setting) is selected - Further paper-formats:
A0
,A1
,A2
,A6
andLedger
- Drone pipeline-steps to use smaller docker-images
- The chromium-revision to
901912
- All dependencies
- Settings-schema for the better use in the settings-editor
- The placement of header- and footer-items
This change fixes issue #56 - Thanks to @GGillan - The descriptions of settings for better understanding
- The README for better understanding
This change fixes #68 - Thanks to @RoneoOrg - The
ChainTask
to add page-breaks between each chained document
- Type-declarations (
.d.ts
-files) from release-builds
- The webpack-configuration to the excluded files
- Broken release-creation
- The conversion-process
- All dependencies
- Fix broken Drone CI script
- Moved from
gulp
andbrowserify
towebpack
- Moved from
mustache
tohandlebars
in order to allow curly braces to be escaped
- The development environment
- The directory structure for improving the development-experience
- The unit-tests
- All dependencies
- The conversion-process for better extensibility
- Support for passing arguments to the
vscode-test
instance - A component for intercepting vscode-settings
- Cancellation-support for all tasks
- A helper for formatting dates
Dates can now be formatted with a custom format-string using this pattern:{{ FormatDate CreationDate "dd. MMMM yyyy" }}
- Support for setting the document-wide date-format using the
DateFormat
attribute - Support for specifying custom date-formats using the
markdownConverter.DateFormats
option - A
ChangeDate
attribute for determining the date of the last change of the markdown-file - A
CurrentDate
attribute for determining the date of the conversion
- Fix issue #42 reported by @damgot
- The conversion-process is now prevented from failing silently
- Update all packages
- Fix dependency-error
- Improve the debug-experience
- Source-maps now point to the correct source-files
- Drop any non-browserifiable dependency
- Improve the build automation
Hey Guys!
It's time for another big update once more, because I finally managed it to stuff all features I ever wanted into MarkdownConverter!
Though I'm still not that satisfied about the document-chaining feature but I'll find a way to improve this feature for sure.
Lots of things have changed in background. First I set up my own Drone CI Server which allows me to automatically check, test and also publish my projects.
MarkdownConverter is the very first project I'm trying to run using my CI-Server so please don't be mad if anything fails or something. 😅
Thanks to @damgot it's now possible to override the markdownConverter.Document.HeaderTemplate
and markdownConverter.Document.FooterTemplate
-settings by setting the HeaderTemplate
and/or FooterTemplate
front-matter attribute to a path to a file to load the template from.
The path is either relative to the workspace-folder, if present, or to the directory containing the document.
Another change is that my project now is compressed and merged into nearly a single file using browserify
. This might make my extension run even faster.
- Provide the functionality to override the header- and footer-template
- Fix a few issues
- The margin- and toc-settings are now loaded correctly
- Self-contained html-files now can be converted on single-threaded environments
- Improve performance
- MarkdownConverter is now compressed using browserify.
- Improve developer experience
- The project is now built using gulp
- The project is now automatically tested on manuth's Drone CI
- Update all dependencies
- Fix malworking setting-parser
- Added missing dependencies
It's about time to publish another more verbose release.
This time I put lots of effort into MarkdownConverter
to finish some features I wanted to add for a long time.
One of the most notable things I think you might find very useful is
that the destination-path is now fully customizable using the DestinationPattern
-option.
The DestinationPath
and DestinationOrigin
-options have been dropped in favor of said option.
You might want to set the DestinationPattern
to whatever pattern to save your documents to, like, for example:
{
"markdownConverter.DestinationPattern": "${workspaceFolder}/output/${dirname}/${basename}.${extension}"
}
Also, I finally added an option for converting all files at once and one for chaining all documents together.
These features make great use of the DestinationPattern
-option as this makes very clear where to store converted files.
Another pretty nice thing is that now every single command reports each progress that's made. This makes it easier to you to check whether the conversion's still running or what's causing trouble.
Continue reading to see what else changed.
Thank you guys for using MarkdownConverter
and for keeping me motivated!
You guys are the best! 🎉
- Added the
DestinationPattern
-option for specifying a pattern for resolving the destination-path
You can use following epressions in theDestinationPattern
:${workspaceFolder}
:
Either the path to theworkspace
, if any, or the directory which contains the document.${dirname}
:
The relative path from the${workspaceFolder}
to the directory which contains the document.${basename}
:
The name of the document-file without extension.${extension}
:
The file-extension of the destination-datatype.${filename}
:
The name of the document-file with its original extension.
- Dropped
DestinationPath
andDestinationOrigin
in favor ofDestinationPattern
- Prevented port-collisions when converting multiple files at once
- Fixed the threading-issues by automatically disabling sandboxed mode if it fails
Special thanks to @jkhsjdhjs for reporting and also fixing this issue - Improved the exception-handling
- Improved the stability of the code
- Added a command
Convert All Documents
for converting all markdown-documents in the current workspace at once - Added a command
Chain All Documents
for chaining all markdown-documents in the current workspace and convert them afterwards - Added a fix for loading the VSCodes
markdown-it
-instance
Sadly VSCodesmarkdown-it
-parser can only be loaded once a markdown-file has been opened. Thus a temporary, empty markdown-file will be opened once a conversion has started if the VSCode-parser has not been loaded yet. - Provided the functionality to convert to self-contained html-files
- Added progress-report to every command
- Implemented a clean way to handle files outside of the current workspace
Thanks to @jkhsjdhjs for reporting the issue
- Fixed absolute path handling
Thanks to @007pig for reporting the issue
- The
OutDir
-setting is now calledDestinationPath
- The
DestinationPath
is considered relative to theDestinationOrigin
- Documents located in sub-directories are now converted correctly
Thanks to @mjwsteenbergen for reporting the issue - People can now choose whether to consider the
DestinationPath
relative to theWorkspaceFolder
or relative to the directory of the document-file. - Added a prompt for specifying a
DestinationPath
which is displayed whenMarkdownConverter
theDestinationPath
, none or more than 1 workspace-folders are opened and the name of the file is untitled
- Allowed users to enable the default parser rather than the default stylesheets
Thanks to @mjwsteenbergen for his contribution - Renamed some settings
markdownConverter.Document.Design.SystemStylesEnabled
=>markdownConverter.Parser.SystemParserEnabled
markdownConverter.Document.EmojiType
=>markdownConverter.Parser.EmojiType
markdownConverter.Document.Toc
=>markdownConverter.Parser.Toc
- Replace PhantomJS by puppeteer
- Provide the functionality to render local files
- Provide the functionality to
- Reworked the path-handling of the settings
- Reworked the code for better readability
- Reworked the system-stylesheet
- Cleaned up all settings
- Fixed extension-provides styles
- Improved path-handling for untitled files
- Implemented localization using
localizable-resources
- Renamed
MarkdownConverter
toMarkdown Converter
- Fixed Multi-Workspacefolder support
- Added support for Chinese headings
- Disabled markdown-it's link policy
- Made the rebuild-process platform-independent
- Adjusted the way to open up files
- Updated the sync-request-module
- Added "table of content"-feature
- Reworked the PhantomJS-process #1
- Adjusted the way to handle templates #6
- Provided the functionallity to choose whether to embed or link certain css-files #4
- Patched missleading error-messages #7
- Adjusted the version-numbers
- Improved the date-test for security-reasons
- Added TypeScript-definitions
- Added PhantomJS-rebuild functionallity in order to build PhantomJS for the propper os. #2
- Added malformated FrontMatter-Recognition
- Improved the MarkDown-document-detection
- Added JavaScript-logic-variables
- Fixed the broken PageNumber and PageCount-variables
- Reworked the error-messages
- Added a new Icon
- Reworked the README
- Added Checkbox-Support
- Improved the error-handling
- Improved the stability of the code
- Initial release