Skip to content

Commit 931677e

Browse files
Bump version to 1.5.0 (#106)
1 parent c56c887 commit 931677e

File tree

3 files changed

+30
-31
lines changed

3 files changed

+30
-31
lines changed

README.md

Lines changed: 21 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,10 @@ If you like or are using this project please give it a star or leave some feedba
88

99
## What is it?
1010

11-
Textrude is a cross-platform general-purpose code-generation tool. It can easily import data from CSV,YAML, JSON or plain-text files and apply [Scriban](https://github.com/scriban/scriban) templates to quickly scaffold output files.
11+
Textrude is a tool to feed CSV,YAML, JSON or plain-text files into [Scriban](https://github.com/scriban/scriban) templates. That makes it useful for:
12+
- **Code-generation**. Generate serializers, smart-enums, lookup tables etc from structured data
13+
- **Quick and dirty data-processing**. Pull a json file from a URL and extract the fields you're interested in.
14+
- **Text processing**. Use line mode to filter the contents of large log files to get to the relevant sections
1215

1316
Textrude comes in 3 flavours:
1417
- **textrude.exe** is a Windows CLI tool for use from the console and within build-systems
@@ -19,53 +22,41 @@ Textrude comes in 3 flavours:
1922

2023
## Why use it?
2124

22-
Let's face it, there are any number of code-generation technologies you might consider. Textrude's strengths are:
23-
25+
For **code-generation**, Textrude's strengths are:
2426
- Easy model (data) creation - use CSV for simple lists or YAML/JSON if you need structured data
2527
- Low-ceremony syntax while retaining a fully functional programming language
2628
- Supports multiple input models and multiple output files for a single template
2729
- Easy to inject additional model context via environment variables or user-supplied definitions
28-
- Built-in dependency checking integrates well with your build system
29-
- Allows template re-use via include mechanism
30+
- Built-in dependency checking integrates well with your build system and avoids unneccesary rebuilds
31+
- Support for template re-use/libraries
3032
- Real-time prototyping tool (TextrudeInteractive)
3133

34+
For **text-processing** or **data-processing**
35+
- Scriban is an easy to understand but relatively powerful scripting language
36+
- **TextrudeInteractive** provides *immediate* feedback so you can see how the input is being processed by your script
37+
- You can pipe text into **Textrude** from another command and reuse the templates you developed in **TextrudeInteractive** to shape the output
38+
- **Textrude** can even pull JSON directly from a URL and feed it through a template.
39+
3240
## Download/build
3341

34-
The current release is **v1.4.0**.
42+
The current release is **v1.5.0**.
3543

3644
**Textrude requires [.Net 5.0](https://dotnet.microsoft.com/download/dotnet/5.0). If it's not already on your machine you will be prompted to install it.**
3745

3846
**To run TextrudeInteractive v1.3 and up you must install the [WebView2 runtime](https://developer.microsoft.com/en-us/microsoft-edge/webview2/)**
3947

4048
- If you just want the binaries, [go here](doc/getBinaries.md).
41-
4249
- Alternatively, [building from source](doc/buildFromSource.md) is pretty easy and gives you access to the bleeding-edge!
43-
4450
- Or you can create a [Docker image](Docker.md)
4551

4652
## What's new
4753

48-
### vNext (source only)
49-
- Add some [syntactic sugar](doc/syntaxExtensions.md)
50-
- Provide [create_library](doc/userLibrary.md) method for improved library creation
51-
- LoopLimit now removed and cancellation for long-running in-flight renders is supported
52-
- textrude.exe can now read models from STDIN or from a URL. See [this doc](doc/buildSystemIntegration.md)
53-
- textrude.exe model/output specifiers can now include explicit format declaration
54-
55-
### v1.4.0 (source/binary)
56-
- The Monaco text editor is now used for all edit panes including the template editor, definitions and include paths.
57-
- A single Monaco edit pane is now used for multiple models/outputs for cleaner switching & improved responsiveness
58-
- The view menu allows visible-whitespace to be toggled on and off
59-
- Rudimentary syntax highlighting and intellisense are provided for the template editor
60-
- Models and outputs can now be assigned names
61-
- Help menu now includes a link to gitter-chat
62-
- Model, template and output panes now support linking to files.
63-
- Export/Build... menu now brings up a dialog to help build CLI options.
64-
- Updated to latest Scriban for [multi-line pipes](https://github.com/scriban/scriban/pull/327)
65-
- Special thanks to [Martin Hochstrasser](https://github.com/highstreeto) for
66-
- CAKE build support
67-
- The fancy new logo!
68-
54+
### v1.5.0 (source/binary)
55+
- Textrude now provides some simple [syntax extensions](doc/syntaxExtensions.md) over *classic* Scriban
56+
- A [create_library](doc/userLibrary.md) built-in method is now provided to make it easier to create libraries
57+
- LoopLimit now removed and cancellation of long-running in-flight renders is supported. This makes it easier to process large text files.
58+
- **Textrude** can now read models from STDIN or from a URL, making it useful for processing the output of other commands.
59+
- **Textrude** model/output specifiers can now include explicit format declarations.
6960

7061
[Full change history](doc/changeHistory.md)
7162

@@ -94,7 +85,7 @@ Textrude makes heavy use of the following components:
9485
- [MaterialDesignToolkit](https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit), [MaterialDesignExtensions](https://spiegelp.github.io/MaterialDesignExtensions) and [Ookii Dialogs](https://github.com/augustoproiete/ookii-dialogs-wpf)to make the UI a bit less clunky
9586

9687
Huge thanks to the contributors:
97-
- [Martin Hochstrasser](https://github.com/highstreeto) - Docker support, general build enhancements and integration of the Monaco editor
88+
- [Martin Hochstrasser](https://github.com/highstreeto) - Docker support, general build enhancements, integration of the Monaco editor and the fancy logo!
9889
- [Neil MacMullen](https://github.com/NeilMacMullen) - original application concept and implementation
9990

10091

Textrude.sln.DotSettings

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
22
<s:Boolean x:Key="/Default/CodeInspection/CodeAnnotations/NamespacesWithAnnotations/=TextrudeInteractive_002EAnnotations/@EntryIndexedValue">True</s:Boolean>
33
<s:Boolean x:Key="/Default/UserDictionary/Words/=Humanizr/@EntryIndexedValue">True</s:Boolean>
4+
<s:Boolean x:Key="/Default/UserDictionary/Words/=Recognised/@EntryIndexedValue">True</s:Boolean>
45
<s:Boolean x:Key="/Default/UserDictionary/Words/=scriban/@EntryIndexedValue">True</s:Boolean>
6+
<s:Boolean x:Key="/Default/UserDictionary/Words/=serialiser/@EntryIndexedValue">True</s:Boolean>
57
<s:Boolean x:Key="/Default/UserDictionary/Words/=Textrude/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>

doc/changeHistory.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# Full change history
22

3+
### v1.5.0
4+
- Textrude now provides some simple [syntax extensions](doc/syntaxExtensions.md) over *classic* Scriban
5+
- A [create_library](doc/userLibrary.md) built-in method is now provided to make it easier to create libraries
6+
- LoopLimit now removed and cancellation of long-running in-flight renders is supported. This makes it easier to process large text files.
7+
- **Textrude** can now read models from STDIN or from a URL, making it useful for processing the output of other commands.
8+
- **Textrude** model/output specifiers can now include explicit format declarations.
9+
310
### v1.4.0
411
- The Monaco text editor is now used for all edit panes including the template editor, definitions and include paths.
512
- A single Monaco edit pane is now used for multiple models/outputs for cleaner switching & improved responsiveness
@@ -14,7 +21,6 @@
1421
- CAKE build support
1522
- The fancy new logo!
1623

17-
1824
### v1.3.0
1925
- Models and outputs can be added/removed on a per-project basis
2026
- Syntax highlighting for output panes

0 commit comments

Comments
 (0)