Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
81b4cea
start 0.0.8-alpha
ReneSchwarzer Jul 7, 2024
1722f8f
quality improvements
ReneSchwarzer Jul 8, 2024
3439745
bug fixing
ReneSchwarzer Jul 9, 2024
59c2fbd
quality improvements
ReneSchwarzer Jul 10, 2024
5c45d9a
quality improvements
ReneSchwarzer Jul 11, 2024
673a6e0
form refactoring
ReneSchwarzer Aug 11, 2024
2a389f7
refactoring and add tests
ReneSchwarzer Dec 19, 2024
0341a58
update xUnit package to latest version
ReneSchwarzer Dec 20, 2024
adb51fa
add new section classes for web app template
ReneSchwarzer Dec 20, 2024
0776102
add system plugin functionality
ReneSchwarzer Dec 28, 2024
7059604
refactoring and add tests
ReneSchwarzer Dec 28, 2024
c9326d2
refactoring and add tests
ReneSchwarzer Dec 29, 2024
f8fb3c0
changed render call parameters to support visualtree in controls
ReneSchwarzer Jan 4, 2025
e3186d3
changed render call parameters to support visualtree in controls
ReneSchwarzer Jan 4, 2025
1bbc322
general improvements and bug fixes
ReneSchwarzer Jan 7, 2025
5ce1e84
add documentation
ReneSchwarzer Jan 14, 2025
668acbd
update documentation
ReneSchwarzer Jan 15, 2025
c175eee
add: toolbar sections
ReneSchwarzer Feb 1, 2025
4b4a2f0
general improvements and bug fixes
ReneSchwarzer Feb 2, 2025
8146a2f
feat: improved layout and design of settings pages
ReneSchwarzer Mar 9, 2025
03c7288
bug fixes
ReneSchwarzer Mar 15, 2025
660e520
add: support for embedding icons in html
ReneSchwarzer Mar 16, 2025
ce5f463
fix: adjustment of the layout
ReneSchwarzer Mar 22, 2025
6500455
feat: add wx- prefix for css
ReneSchwarzer Mar 22, 2025
4d6b40e
feat: update resources to use IUri references
ReneSchwarzer Mar 29, 2025
b9b3cf5
feat: bug fixes and general improvements
ReneSchwarzer Apr 1, 2025
22b5278
feat: bug fixes and general improvements
ReneSchwarzer Apr 18, 2025
91b3f5d
Update src/WebExpress.WebApp.Test/Fixture/UnitTestControlFixture.cs
ReneSchwarzer Apr 18, 2025
1c8c459
Update src/WebExpress.WebApp.Test/Fixture/UnitTestControlFixture.cs
ReneSchwarzer Apr 18, 2025
87bd405
Update src/WebExpress.WebApp.Test/Fixture/UnitTestControlFixture.cs
ReneSchwarzer Apr 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions .github/workflows/generate-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Generate and Deploy Documentation

on:
push:
branches:
- main

permissions:
actions: read
pages: write
id-token: write

concurrency:
group: "pages"
cancel-in-progress: false

jobs:
publish-docs:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Setup .NET SDK
uses: actions/setup-dotnet@v3
with:
dotnet-version: 9.x

- name: Install DocFX
run: dotnet tool install -g docfx

- name: Add DocFX to PATH
run: echo "$HOME/.dotnet/tools" >> $GITHUB_PATH

- name: Generate documentation
run: |
cd docs
docfx metadata
docfx build

- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: '_site'

- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
36 changes: 22 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,37 +1,45 @@
![WebExpress](https://raw.githubusercontent.com/ReneSchwarzer/WebExpress/main/assets/banner.png)

# WebExpress
WebExpress is a lightweight web server optimized for use in low-performance environments (e.g. Rasperry PI). By providing
`WebExpress` is a lightweight web server optimized for use in low-performance environments (e.g. Rasperry PI). By providing
a powerful plugin system and a comprehensive API, web applications can be easily and quickly integrated into a .net
language (e.g. C#). Some advantages of WebExpress are:
language (e.g. C#). Some advantages of `WebExpress` are:

- It is easy to use.
- It offers a variety of features and tools that can help you build and manage your website.
- It is fast and efficient and can help you save time and money.
- It is flexible and can be customized to meet your specific requirements.

The WebExpress family includes the following projects:
The `WebExpress` family includes the following projects:

- [WebExpress](https://github.com/ReneSchwarzer/WebExpress#readme) - The web server for WebExpress applications and the documentation.
- [WebExpress.WebCore](https://github.com/ReneSchwarzer/WebExpress.WebCore#readme) - The core for WebExpress applications.
- [WebExpress.WebUI](https://github.com/ReneSchwarzer/WebExpress.WebUI#readme) - Common templates and controls for WebExpress applications.
- [WebExpress.WebIndex](https://github.com/ReneSchwarzer/WebExpress.WebIndex#readme) - Reverse index for WebExpress applications.
- [WebExpress.WebApp](https://github.com/ReneSchwarzer/WebExpress.WebApp#readme) - Business application template for WebExpress applications.
- [WebExpress](https://github.com/ReneSchwarzer/WebExpress#readme) - The web server for `WebExpress` applications and the documentation.
- [WebExpress.WebCore](https://github.com/ReneSchwarzer/WebExpress.WebCore#readme) - The core for `WebExpress` applications.
- [WebExpress.WebUI](https://github.com/ReneSchwarzer/WebExpress.WebUI#readme) - Common templates and controls for `WebExpress` applications.
- [WebExpress.WebIndex](https://github.com/ReneSchwarzer/WebExpress.WebIndex#readme) - Reverse index for `WebExpress` applications.
- [WebExpress.WebApp](https://github.com/ReneSchwarzer/WebExpress.WebApp#readme) - Business application template for `WebExpress` applications.

# WebExpress.WebApp
WebExpress.WebApp is part of the WebExpress family. Provides a business application template for WebExpress applications.
`WebExpress.WebApp` is part of the WebExpress family. Provides a business application template for `WebExpress` applications.

# Download
The current binaries are available for download [here](https://github.com/ReneSchwarzer/WebExpress/releases).

# Start
To get started with WebExpress, use the following links and tutorials.
If you're looking to get started with `WebExpress`, we would recommend using the following documentation. It can help you understand the platform.

- [installation guide](https://github.com/ReneSchwarzer/WebExpress/blob/main/doc/installation_guide.md)
- [development guide](https://github.com/ReneSchwarzer/WebExpress/blob/main/doc/development_guide.md)
- [Installation Guide](https://github.com/ReneSchwarzer/WebExpress/blob/main/doc/installation_guide.md)
- [Development Guide](https://github.com/ReneSchwarzer/WebExpress/blob/main/doc/development_guide.md)
- [WebExpress.WebCore API Documentation](https://reneschwarzer.github.io/WebExpress.WebCore/)
- [WebExpress.WebUI API Documentation](https://reneschwarzer.github.io/WebExpress.WebUI/)
- [WebExpress.WebApp API Documentation](https://reneschwarzer.github.io/WebExpress.WebApp/)
- [WebExpress.WebIndex API Documentation](https://reneschwarzer.github.io/WebExpress.WebIndex/)

# Learning
The following tutorials illustrate the essential techniques of `WebExpress`. These tutorials are designed to assist you, as a developer, in understanding the various aspects of `WebExpress`. Each tutorial provides a detailed, step-by-step guide that you can work through using an example. If you�re interested in beginning the development of `WebExpress` components, we would recommend you to complete some of these tutorials.

## Tutorials
- [HelloWorld](https://github.com/ReneSchwarzer/WebExpress.Tutorial.HelloWorld#readme)
- [WebApp](https://github.com/ReneSchwarzer/WebExpress.Tutorial.WebApp#readme)
- [WebIndex](https://github.com/ReneSchwarzer/WebExpress.Tutorial.WebIndex#readme)

# Tags
#WebExpress #BusinessApplication
#WebApp #WebExpress #BusinessApplication #DotNet #NETCore
2 changes: 2 additions & 0 deletions docs/api/toc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
### YamlMime:TableOfContent
[]
Binary file added docs/assets/webexpress.ico
Binary file not shown.
40 changes: 40 additions & 0 deletions docs/assets/webexpress.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
61 changes: 61 additions & 0 deletions docs/docfx.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
{
"$schema": "https://raw.githubusercontent.com/dotnet/docfx/main/schemas/docfx.schema.json",
"metadata": [
{
"src": [
{
"files": [
"src/WebExpress.WebApp/*.csproj"
],
"src": "../"
}
],
"dest": "api",
"outputFormat": "apiPage"
}
],
"build": {
"content": [
{
"files": [ "**/*.{md,yml}" ],
"exclude": [ "_site/**", "obj/**" ]
}
],
"resource": [
{
"files": [ "**/images/**", "**/media/**", "codesnippet/**" ],
"exclude": [ "_site/**", "obj/**" ]
},
{
"files": [ "assets/webexpress.ico", "assets/webexpress.svg" ]
},
{
"src": "../schemas",
"files": [ "**/*.json" ],
"dest": "schemas"
}
],
"postProcessors": [ "ExtractSearchIndex" ],
"globalMetadata": {
"_appTitle": "WebExpress.WebApp",
"_appName": "WebExpress.WebApp",
"_appFaviconPath": "assets/webexpress.ico",
"_appLogoPath": "assets/webexpress.svg",
"pdf": false
},
"markdownEngineProperties": {
"alerts": {
"TODO": "alert alert-secondary"
}
},
"xref": [
"../.xrefmap.json"
],
"output": "../_site",
"template": [
"default",
"modern",
"template"
]
}
}
28 changes: 28 additions & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
![WebExpress](https://raw.githubusercontent.com/ReneSchwarzer/WebExpress/main/assets/banner.png)

# WebExpress
WebExpress is a lightweight web server optimized for use in low-performance environments (e.g. Raspberry PI). By providing
a powerful plugin system and a comprehensive API, web applications can be easily and quickly integrated into a .NET
language (e.g. C#). Some advantages of WebExpress are:

- It is easy to use.
- It offers a variety of features and tools that can help you build and manage your website.
- It is fast and efficient and can help you save time and money.
- It is flexible and can be customized to meet your specific requirements.

The `WebExpress` family includes the following projects:

- [WebExpress](https://github.com/ReneSchwarzer/WebExpress#readme) - The web server for `WebExpress` applications and the documentation.
- [WebExpress.WebCore](https://github.com/ReneSchwarzer/WebExpress.WebCore#readme) - The core for `WebExpress` applications.
- [WebExpress.WebUI](https://github.com/ReneSchwarzer/WebExpress.WebUI#readme) - Common templates and controls for `WebExpress` applications.
- [WebExpress.WebIndex](https://github.com/ReneSchwarzer/WebExpress.WebIndex#readme) - Reverse index for `WebExpress` applications.
- [WebExpress.WebApp](https://github.com/ReneSchwarzer/WebExpress.WebApp#readme) - Business application template for `WebExpress` applications.

# WebExpress.WebApp
`WebExpress.WebApp` is part of the WebExpress family. Provides a business application template for `WebExpress` applications.

# Download
The current binaries are available for download [here](https://github.com/ReneSchwarzer/WebExpress/releases).

# Tags
#WebApp #WebExpress #BusinessApplication #DotNet #NETCore
47 changes: 47 additions & 0 deletions docs/template/dashboard.html.tmpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
{{!Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license.}}
{{!master(layout/_master.tmpl)}}
<h1>{{title}}</h1>
{{#items.Length}}
<div id="template-container">
{{#items}}
<div class="card">
<img src="{{thumbnail}}" class="card-img-top" alt="{{name}}">
<div class="card-body flex-fill">
<h5 class="card-title"><a href="{{homepage}}" class="card-link">{{name}}</a></h5>
<p class="card-text">{{{description}}}</p>
</div>
<div class="card-body flex-grow-0">
{{#usage}}
<div class="">
{{#config}}<div class="list-group-item"><c>docfx.json</c>: <code>{{config}}</code></div>{{/config}}
{{#command}}<div class="list-group-item"><c>docfx</c>: <code>{{command}}</code></div>{{/command}}
{{#init}}<div class="list-group-item"><c>docfx init</c>: <code>{{init}}</code></div>{{/init}}
</div>
{{/usage}}
</div>
</div>
{{/items}}
</div>
{{/items.Length}}

<style type="text/css">
.affix {
display: none !important;
}

.card {
width: 24rem;
margin: 1rem;
}

.card > img {
height: 16rem;
object-fit: cover;
}

#template-container {
display: flex;
flex-direction: row;
flex-wrap: wrap;
}
</style>
10 changes: 10 additions & 0 deletions docs/template/public/main.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
/**
* Licensed to the .NET Foundation under one or more agreements.
* The .NET Foundation licenses this file to you under the MIT license.
*/

/* Checkout https://getbootstrap.com/docs/5.3/customize/color/ for more customization options */
body {
--bs-link-color-rgb: 66, 184, 131 !important;
--bs-link-hover-color-rgb: 64, 180, 128 !important;
}
14 changes: 14 additions & 0 deletions docs/template/public/main.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
/**
* Licensed to the .NET Foundation under one or more agreements.
* The .NET Foundation licenses this file to you under the MIT license.
*/

export default {
iconLinks: [
{
icon: 'github',
href: 'https://github.com/dotnet/docfx',
title: 'GitHub'
}
]
}
45 changes: 45 additions & 0 deletions docs/template/schemas/Dashboard.schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
{
"title": "Dashboard",
"$schema": "https://dotnet.github.io/docfx/schemas/v1.0/schema.json#",
"version": "1.0.0",
"description": "Schema for dashboard",
"id": "https://github.com/dotnet/docfx/schemas/Dashboard.schema.json",
"type": "object",
"properties": {
"uid": {
"type": "string",
"contentType": "uid"
},
"title": {
"type": "string",
"tags": [
"localizable"
]
},
"description": {
"type": "string",
"contentType": "markdown",
"tags": [
"localizable"
]
},
"items": {
"items": {
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string",
"contentType": "markdown",
"tags": [
"localizable"
]
}
},
"type": "object"
},
"type": "array"
}
}
}
8 changes: 8 additions & 0 deletions docs/toc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
- name: Home
href: index.md
- name: API Documentation
href: api/WebExpress.WebApp.html
- name: User Guide
href: user-guide.md
- name: Tutorials
href: tutorials.md
17 changes: 17 additions & 0 deletions docs/tutorials.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
![WebExpress](https://raw.githubusercontent.com/ReneSchwarzer/WebExpress/main/assets/banner.png)

# Tutorials
Welcome to the `WebExpress` Tutorials! Here, you'll find step-by-step guides and helpful resources to get the most out
of `WebExpress`. Whether you're a beginner just starting out or an experienced developer looking to expand your skills,
our tutorials offer something for everyone.

# Getting Started
Begin with our basic tutorial:
- [HelloWorld](https://github.com/ReneSchwarzer/WebExpress.Tutorial.HelloWorld#readme)
- [WebApp](https://github.com/ReneSchwarzer/WebExpress.Tutorial.WebApp#readme)
- [WebIndex](https://github.com/ReneSchwarzer/WebExpress.Tutorial.WebIndex#readme)

This tutorial will guide you through the initial steps of creating and running your first `WebExpress` application.

Stay tuned for more exciting and educational tutorials to help you unlock the full potential of `WebExpress`. Happy coding and
best of luck with your projects!
Loading