This repository contains the solution that allows to build and deploy the dotnetfoundation website.
Pull requests and issues are welcome!
Following are listed the tools or programs that we need to build this project:
- Git: Clone this repository if you want to make any change.
- .NET Core SDK 3.1.*
- Visual Studio 2019 or Visual Studio Code as editors (optional).
Here are the basic steps to run or build the project.
- Use
dotnet run
from the root of the repository to generate the static site. - After the build, you can check the
output
folder to review the generated html files.
To build and preview the site, run dotnet run -- preview
. This will launch a preview web server that can be viewed in a web browser from http://localhost:5080. The site will automatically rebuild and refresh when you make content changes.
This website uses Statiq Web, a flexible and extensible static site generator for .NET.
-
App.Config
This is the configuration file for use by the project, make sure to review the
appSettings
. -
Program.cs:
Class that handles the generation of the site and the start of the web server when running from Visual Studio, here is where we defined the input folder and the way to output our static files. The
input
folder contains source files and we are rendering tohtml
files. -
input
_partials
folder contains small sections of code that we require in other views, includes:_head.cshtml
: Contains thehead
section of the view and includes the initial stylesheet and JavaScript imports._header.cshtml
: Common header that we are using for views and includes the main navigation._footer.cshtml
: Common footer for views.
_layout.cshtml
is where we build the page structure, include partials, analytics code and other additional imports.index.cshtml
is the main page for the site.Note: Properties for the page can be defined at the top of the file like a specific
title
for the page.css
folder contains all the stylesheet files required.js
folder contains the JavaScript libraries and other custom scripts.
Each file inside the input
folder is processed by Statiq and will generate static output files.