Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

To use ZptSharp from a command line, a standalone app must be created #264

Closed
craigfowler opened this issue Dec 9, 2020 · 3 comments
Closed
Labels
enhancement An improvement, new feature or other addition to the project
Milestone

Comments

@craigfowler
Copy link
Member

craigfowler commented Dec 9, 2020

This is to create a command line renderer app. It must support both .NET framework and dotnet core. This is functionality which has yet to be carried-forward from the v1.x branch. It also had some unit tests which should be reviewed.

@craigfowler craigfowler added the enhancement An improvement, new feature or other addition to the project label Dec 9, 2020
@craigfowler craigfowler added this to the v2.0.0 milestone Dec 9, 2020
@craigfowler
Copy link
Member Author

craigfowler commented Dec 20, 2020

If I wish to multi-target this (to work on either .NET Framework or .NET Core) then it's going to need some code differences.

On dotnet core, I have Generic Host available as a technique, but on just .NET Framework I will likely need to use the self-hosting facility written in #265

@craigfowler
Copy link
Member Author

craigfowler commented Dec 31, 2020

I would like to be able to support plugins, in order to activate document providers and/or expression types. Here's some info on how to do that for .NET Core 3:

I have chosen not to use plugins at this time. I will ship the app with all of the standard expression types and document providers.

info about plugins for .NET Core 3

https://docs.microsoft.com/en-us/dotnet/core/tutorials/creating-app-with-plugin-support

@craigfowler
Copy link
Member Author

craigfowler commented Dec 31, 2020

Planned command-line options:

  • The main argument (without a named option) indicates the root path for the file search. It's mandatory.
  • --include or -i adds a file-search pattern to be included
    • If omitted then the pattern * is used, to non-recursively handle all files in the directory.
  • --exclude or -x adds a file-search pattern to be excluded
    • If omitted then there are no expressions.
  • --model or -m points to a JSON file containing the model
    • If omitted then the model is null.
  • --keywords or -k is a list of key/value pairs
    • If omitted then there are no keyword options defined.
  • --extension or -e is a file extension for the rendered output
    • If omitted then the extension is not changed.
  • --anglesharp or -s uses the AngleSharp renderer instead of HAP, for HTML files
  • --annotate or -a enables source annotation

craigfowler added a commit that referenced this issue Jan 1, 2021
Also fix a typo in directory-naming.
craigfowler added a commit that referenced this issue Jan 1, 2021
I'm currently seeing a lot of unneeded assemblies packed,
particularly for net461.  I'm going to investigate and see if I
can slim that down a bit.
craigfowler added a commit that referenced this issue Jan 1, 2021
The main thrust of this work is ensuring that the net461 version of
the package does not require any references to netstandard.
A few of the dependencies I had been using required netstandard,
particularly the Microsoft.Extensions ones.  By upgrading these to
v5.0.0, I am now using versions which have net461 builds and do not
require netstandard dependencies.

Also, AngleSharp had been attempting to use the netstandard
version instead of the net461 version.  I had to manually change that.
craigfowler added a commit that referenced this issue Jan 1, 2021
This was really down to the way I was doing logging.  IE: Wrong.
craigfowler added a commit that referenced this issue Jan 1, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement An improvement, new feature or other addition to the project
Projects
None yet
Development

No branches or pull requests

1 participant