From 36f86d1bc25a1665a329eb674b8445c095c1490f Mon Sep 17 00:00:00 2001 From: George <17267419+ps-george@users.noreply.github.com> Date: Thu, 30 May 2024 11:22:28 +0200 Subject: [PATCH 1/3] Fork because we couldn't find the fmark org login account details --- CHANGELOG.md | 8 ++++++-- README.md | 52 +++++++++++++++++++++++------------------------ package-lock.json | 8 ++++---- package.json | 19 +++++++++-------- 4 files changed, 46 insertions(+), 41 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ddf6760..e335b22 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,8 +13,7 @@ All notable changes to the "fmark" extension will be documented in this file. - Released first working version of the FMark plugin for vscode. - It now supports - Tables with spreadsheet functionality - - Macros - - Markdown syntax + - Macros Markdown syntax ## 0.1.1 @@ -74,3 +73,8 @@ can be done with it ## 0.4.0 - Replaced htmlpreview (deprecated) with Webview API. + +## 0.5.0 + +- zesty-markdown fork because we lost access to the original publisher account +- Reordered README diff --git a/README.md b/README.md index 668150e..42cc2f7 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ Open a live preview of the HTML that will be generated by FMark. Create an HTML file in the same directory as the .fmark file, with .html instead of .fmark. -# Vanilla Markdown +# Vanilla Markdown ## Implemented - HTML passthrough @@ -82,23 +82,6 @@ A paragraph is some characters that does not match: It terminates with two endlines. Any elements mentioned above cannot exist in a paragraph. Otherwise, they will become normal text, and will not be rendered as expected. -# Building - -To build fmark, dotnet and fable have to be installed first. To build the javascript as well, yarn or npm are needed. - -## Using the Build script - -``` shell -# build only javascript -build -b js - -# build and test every single module -build -b testall - -# build js and cli -build -b all -``` - # Markdown extensions ## Macros @@ -157,7 +140,7 @@ For a list of strings, one can use the `preprocessList` and `lexList` functions. [] let main = let inputStringList = (* Read the string list *) - + inputStringList |> preprocessList |> lexList @@ -195,12 +178,12 @@ Should be printed as not in scope: {{ local(arg1; arg2) }} This is text inside the macro, with semicolons; Now back in the first macro. -This is the second macro +This is the second macro ``` -More complicated macros can also be created by writing html in the macros. Due to the +More complicated macros can also be created by writing html in the macros. Due to the html passthrough in the lexer, the html will be copied over literally to the output html. ## Lexer @@ -210,7 +193,7 @@ macros can give very useful and interesting functions. ## Interface to the Parser -The interface to the parser was done using the following `Token` type, which the parser takes in +The interface to the parser was done using the following `Token` type, which the parser takes in and can parse. ``` f# @@ -230,7 +213,7 @@ type Token = Supports escaping of all the special characters defined in [Types](/FMark/FMark/src/Common/Types.fs). This is done by adding a `\` in front of the character that should be escaped. -Tokens that match multiple characters can also be escaped by just putting a `\` before it. For example, +Tokens that match multiple characters can also be escaped by just putting a `\` before it. For example, `***` can be escaped by writing `\***`. ## Extensibility @@ -240,7 +223,7 @@ has to be linked to the token by adding it as a tuple of type `string * Token` t `charList` in the [Lexer](/FMark/FMark/src/Common/Lexer/Lexer.fs). ## Spreadsheet functionality -Spreadsheet functions will evaluate in-place, if they are incorrectly formatted then Markalc will leave the cell unchanged as if it were normal text inside. +Spreadsheet functions will evaluate in-place, if they are incorrectly formatted then Markalc will leave the cell unchanged as if it were normal text inside. To delineate an expression, start the cell with the `=` operator, e.g. @@ -387,7 +370,7 @@ With Harvard, it will look like this: At the end of the document: > Smith, M. (2018) *Not a real book*. -> +> > Smith, F. (2017) *Not a real website*. Available from: www.example.com/website [Accessed 4th March 2018]. if Chicago style is chosen: @@ -396,7 +379,7 @@ if Chicago style is chosen: At the end of the document: > Mark Smith. 2018. *Not a real book*. -> +> > FMark Smith. 2017. "Not a real website." Accessed March 3, 2018. https://www.example.com/website ## Latex maths rendering @@ -406,3 +389,20 @@ Fmark includes support for Latex maths rendering. Surround an equation written in Latex with `$$` in order to use this feature. Example: `$$2+2=4-1=3$$` + +# Development + +To build fmark, dotnet and fable have to be installed first. To build the javascript as well, yarn or npm are needed. + +## Using the Build script + +``` shell +# build only javascript +build -b js + +# build and test every single module +build -b testall + +# build js and cli +build -b all +``` diff --git a/package-lock.json b/package-lock.json index 0d64720..690d830 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { - "name": "fmark", - "version": "0.3.0", + "name": "zesty-markdown", + "version": "0.5.0", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "fmark", - "version": "0.3.0", + "name": "zesty-markdown", + "version": "0.5.0", "license": "MIT", "dependencies": { "graceful-fs": "^4.1.11", diff --git a/package.json b/package.json index a5960f3..7058b95 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,10 @@ { - "name": "fmark", - "displayName": "FMark", - "description": "FMark plugin", - "version": "0.4.0", - "publisher": "fmark", - "repository": "https://github.com/ymherklotz/FMark-vscode", + "name": "zesty-markdown", + "displayName": "Zesty Markdown 🍋", + "description": "Markdown preview with zest (see docs)", + "version": "0.5.0", + "publisher": "ps-george", + "repository": "https://github.com/zestylogic/FMark-vscode", "engines": { "vscode": "^1.89.0" }, @@ -17,11 +17,11 @@ "commands": [ { "command": "fmark.openPreview", - "title": "FMark: Open Preview" + "title": "Zesty Markdown 🍋: Open Preview" }, { "command": "fmark.makehtml", - "title": "FMark: Generate HTML File" + "title": "Zesty Markdown 🍋: Generate HTML File" } ], "keybindings": [ @@ -38,7 +38,8 @@ "fmark" ], "extensions": [ - ".fmark" + ".fmark", + ".zesty" ], "configuration": "./language-configuration.json" } From 10db6c10d9fabef7a27268b857ec94351a4ae800 Mon Sep 17 00:00:00 2001 From: George <17267419+ps-george@users.noreply.github.com> Date: Thu, 30 May 2024 12:23:17 +0200 Subject: [PATCH 2/3] Add icon --- CHANGELOG.md | 4 ++++ images/icon.png | Bin 0 -> 30151 bytes package.json | 3 ++- 3 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 images/icon.png diff --git a/CHANGELOG.md b/CHANGELOG.md index e335b22..d992873 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -78,3 +78,7 @@ can be done with it - zesty-markdown fork because we lost access to the original publisher account - Reordered README + +## 0.5.1 + +- Added an icon diff --git a/images/icon.png b/images/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..56809d15f27e817c882ee5784dafe12c00330824 GIT binary patch literal 30151 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 Date: Thu, 30 May 2024 12:29:06 +0200 Subject: [PATCH 3/3] Adjust README --- CHANGELOG.md | 4 ++++ README.md | 13 ++++++++----- package.json | 2 +- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d992873..c861232 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -82,3 +82,7 @@ can be done with it ## 0.5.1 - Added an icon + +## 0.5.2 + +- Adjust README diff --git a/README.md b/README.md index 42cc2f7..d7db450 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,18 @@ -# FMark [![Build Status](https://travis-ci.org/ymherklotz/FMark.svg?branch=master)](https://travis-ci.org/ymherklotz/FMark) by ZestyLogic 🍋♟ -FSharp markdown implementation with additional functionality. +# Zesty Markdown 🍋 + +VSCode extension for Markdown Preview with additional functionality. Namely: - Macros -- Includes +- Includes (include other files e.g. to avoid copy-pasting repeated lines) - Spreadsheet functionality - Table of Contents generation -- Citations and footnotes +- Bibliography / citations and footnotes generation + +See [example.fmark](https://github.com/zestylogic/FMark/blob/master/examples/example.fmark) for usage examples. -See [example.fmark](https://github.com/ymherklotz/FMark/blob/master/examples/example.fmark) for usage examples. +Uses [FMark](https://github.com/zestylogic/FMark) by Zesty Logic 🍋♟ under the hood. # How to use diff --git a/package.json b/package.json index ce2044b..da87235 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "zesty-markdown", "displayName": "Zesty Markdown 🍋", "description": "Markdown preview with zest (see docs)", - "version": "0.5.1", + "version": "0.5.2", "publisher": "ps-george", "repository": "https://github.com/zestylogic/FMark-vscode", "engines": {