ewilliams0305 / weblogger Goto Github PK
View Code? Open in Web Editor NEWWebsocket server designed to provide a HTML command line interface on a dotnet Application.
License: MIT License
Websocket server designed to provide a HTML command line interface on a dotnet Application.
License: MIT License
Move source generators to the IIncrementalGenerator interface.
Create a parent element object. This parent element should be used as a single string builder for all child elements. The parent element should be able to provide a child with the builder.
Parents should Not be appended or inserted.
A Parent can be any HTML element
A child mutates a parent but stores no state other than its options and element type.
The parent should render and create the child.
Currently the serilog sink colors are being formatted from the JS file with parsing. Sinnce sending HTML data to the WebLogger UI works this should be moved to the Serilog Sink.
Need I say more, it's ugly
Refactor the HtmlElement class as a class or record with immutable guts. Now realizing how this was implemented passing the objects into one another will create copies. At that point heap is probably the lesser of two evils. Continue benchmark tests as well to determine possible builder refactoring for efficiency gains.
Change command arguments to Powershell switch format. Space separated arguments will cause usage issues.
Provide an optional interface a command can impliment to allow the weblogger to prompt users for confirmations.
i.e. Enter (y) to replace your file system!
user: N
command is never executed.
Currently this attribute was created in the main webLogger library. This should be a generated type in the WebLogger.Generators project.
Child element should not contain a buffer or builder.
A child element should simply hold the Element enum type and options
A child should be able to add it's self to a parent at the specified location. FirstChild, LastChild, Insert.
Change command delegate to force asynchronous code. Not knowing what someone will do with this blocked threads could create issues on the front ent application and or server.
Create a roslyn analyzer to suggest refactoring method signatures with the [CommandHandler] attribute applied. We should be able to instruct the analyzer to identify methods that dont match ICommandResponse (string, List<string>)
A before method should be added to insert an element before the target element definition.
`
var div
var before = HtmlElement.H1.Before(div)
before =
Create generator that can handle multiple command methods. Each method should create an instance of a command and add it to a collection. This should also implement an interface with a method to register all the commands created by the class.
Markers should be located in the WebLogger project. This will prevent duplicated types when multiple projects in a single assembly are using generated commands.
Render an HTML element similar to the Exception SerilogLog sink. When an invalid command is provided it should respond with a neat table or exception block.
Create a WebLogger.Generators library used to create commands with source generation.
Generated commands should be automatically registered with th e weblogger server.
Create a custom CLI command in the serilog library to change the log level event output at runtime.
Provide IWebLogger extension methods to discover all IWebLoggerCommands and Handlers in a given assembly.
Consider using Attributes and Metadata to discover and define edge cases.
Command help is still using string interpolation. Create a HtmlElement render to display the output of a commands help information.
Either create a logging method and write a file. Or possible leverage the internal logging mechanisms and simply output to the websocket server.
Provide options to enable security and provide a certificate.
var logger = WebLoggerFactory.CreateWebLogger(options => { options.Secured = true; options.WebSocketTcpPort = 54321; options.DestinationWebpageDirectory = "C:/Temp/"; options.CertificatePath = "blah.cert" });
Ensure the fully qualified command name is what gets passed around to handlers. Currently typing a partial command matches the command but passes the partial command to the handler.
Query the WebLogger assembly and determine if the webpage should be replaced. This will streamline deployments and reduce the need to manually replace or command replace the files. Possibly add a Json file to the embedded resources html as a comparison.
JS is being called twice and the console ws is connected and disconnected rapidly.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.