Introducing ExtensionIRNode and an implementation of templates based on the new feature set. Now TemplateIRNode is-a ExtensionIRNode. It's implemented using just extensibility and isn't part of the standard razor codegen. I'm adding it to the RazorEngine so that it's still there by default. I've also included a pattern for visitors to special case ExtensionIRNode-derived classes that they know about. This requires a little bit of boilerplate but makes it easy to traverse just the nodes you care about while keeping the set of nodes open. For now the general codegen feature still hasn't had a refactor, but this opens things up for us to start finishing things like MVC's @inject directive. |
||
|---|---|---|
| build | ||
| shared/Microsoft.AspNetCore.Razor.TagHelpers.Testing.Sources | ||
| src | ||
| test | ||
| tooling/Microsoft.VisualStudio.RazorExtension | ||
| .gitattributes | ||
| .gitignore | ||
| .travis.yml | ||
| CONTRIBUTING.md | ||
| LICENSE.txt | ||
| NuGet.config | ||
| NuGetPackageVerifier.json | ||
| README.md | ||
| Razor.sln | ||
| appveyor.yml | ||
| build.cmd | ||
| build.ps1 | ||
| build.sh | ||
| makefile.shade | ||
| version.props | ||
README.md
Razor
The Razor syntax provides a fast, terse, clean and lightweight way to combine server code with HTML to create dynamic web content. This repo contains the parser and the C# code generator for the Razor syntax.
This project is part of ASP.NET Core. You can find samples, documentation and getting started instructions for ASP.NET Core at the Home repo.