Added new Hamann-Project

This commit is contained in:
schnulller
2022-05-11 12:27:19 +02:00
parent c5f30d463c
commit 209c40258d
32 changed files with 2858 additions and 2 deletions

View File

@@ -11,8 +11,8 @@ module.exports = {
], ],
theme: { theme: {
fontFamily: { fontFamily: {
sans: ['Biolinum', 'sans-serif'], sans: ['Biolinum G', 'Biolinum', 'sans-serif'],
serif: ['Libertine', 'serif'], serif: ['Libertine G', 'Libertine', 'serif'],
}, },
screens: { screens: {
'sm': '640px', 'sm': '640px',

View File

@@ -0,0 +1,20 @@
using System.Diagnostics;
using Microsoft.AspNetCore.Mvc;
using HaWeb.Models;
namespace HaWeb.Controllers;
public class SearchController : Controller
{
public IActionResult Index()
{
return View();
}
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
public IActionResult Error()
{
return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
}
}

20
HaWeb/HaWeb.csproj Normal file
View File

@@ -0,0 +1,20 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<UpToDateCheckBuilt Include="wwwroot/css/site.css" Set="Css" />
<UpToDateCheckBuilt Include="postcss.config.js" Set="Css" />
<UpToDateCheckBuilt Include="tailwind.config.js" Set="Css" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="LigerShark.WebOptimizer.Core" Version="3.0.357" />
</ItemGroup>
<Target Name="Tailwind" BeforeTargets="Build">
<Exec Command="npm run css:build" />
</Target>
</Project>

View File

@@ -0,0 +1,8 @@
namespace HaWeb.Models;
public class ErrorViewModel
{
public string? RequestId { get; set; }
public bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
}

32
HaWeb/Program.cs Normal file
View File

@@ -0,0 +1,32 @@
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddControllersWithViews();
// builder.Services.AddWebOptimizer();
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Home/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
app.UseHttpsRedirection();
}
// app.UseWebOptimizer();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.MapControllerRoute(
name: "default",
pattern: "{controller=Search}/{action=Index}/{id?}");
app.Run();

View File

@@ -0,0 +1,28 @@
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:7668",
"sslPort": 44319
}
},
"profiles": {
"HaWeb": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"applicationUrl": "https://localhost:7092;http://localhost:5167",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}

View File

@@ -0,0 +1,4 @@
@{
ViewData["Title"] = "Briefauswahl & Suche";
ViewData["SEODescription"] = "Johann Georg Hamann: Kommentierte Briefausgabe, Hg. v. Leonard Keidel und Janina Reibold. Durchsuchbare Online-Ausgabe der Briefe von und an Johann Georg Hamann.";
}

View File

@@ -0,0 +1,4 @@
@model ErrorViewModel
@{
ViewData["Title"] = "Fehler";
}

View File

@@ -0,0 +1,34 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="@ViewData["SEODescription"]">
<title>H&#x200A;K&#x200a;B &#x2013; @ViewData["Title"]</title>
<!-- crossorigin is a workaround to prevent double downloading bugs in chrome -->
<link rel="preload" href="/css/output.css" as="style" />
<link rel="preload" href="/img/subtlenet2.png" as="image" />
<link rel="preload" href="/fonts/LinBiolinum_R_G.ttf" as="font" crossorigin/>
<link rel="preload" href="/fonts/LinLibertine_R_G.ttf" as="font" crossorigin/>
<link rel="stylesheet" href="/css/output.css" />
</head>
<body>
@await Html.PartialAsync("/Views/Shared/_Menu.cshtml")
<div class="container">
<main role="main" class="pb-3">
@RenderBody()
</main>
</div>
<script src="~/js/site.js" asp-append-version="true"></script>
@await RenderSectionAsync("Scripts", required: false)
</body>
</html>

View File

@@ -0,0 +1,84 @@
<header class="sticky w-100 font-serif mb-6">
<nav class="flex flex-row w-100 bg-slate-50 border-t-[5px] border-gray-300 py-3 px-3 lg:px-8 flex-wrap">
<a href="/" class="text-xl xl:text-3xl grow-0 shrink-0 text-black hover:text-black ">
<img src="/favicon.ico" class="inline-block w-8 h-8 xl:w-12 xl:h-12 mr-2 p-1 border border-gray-900 border-t-gray-200 border-l-gray-200 " alt="HKB-Logo" loading="lazy" />
<span class="sm:hidden">J. G. Hamann: Kommentierte Briefausgabe</span>
<span class="hidden sm:inline md:hidden">Johan Georg Hamann: Kommentierte Briefausgabe</span>
<span class="hidden md:inline align-baseline">Johann Georg Hamann: Kommentierte Briefausgabe (&#x200A;H&#x200A;K&#x200A;B&#x200A;)</span>
</a>
<div class="flex grow shrink">
</div>
<div class="ha-menusymbol inline-block lg:hidden pr-3 align-bottom">
<button id="openmenubutton">
<svg role="img" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"
aria-labelledby="hamburgerIconTitle">
<title id="hamburgerIconTitle">Menu</title>
<path d="M6 7L18 7M6 12L18 12M6 17L18 17"></path>
</svg>
</button>
<button class="hidden" id="closemenubutton">
<svg role="img" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"
aria-labelledby="closeIconTitle">
<title id="closeIconTitle">Close</title>
<path d="M6.34314575 6.34314575L17.6568542 17.6568542M6.34314575 17.6568542L17.6568542 6.34314575">
</path>
</svg>
</button>
</div>
<div class="topnav" id="topnav">
<a class="" href="/">
Suche & Briefauswahl
</a>
<a class="" href="/kolloquien.html">
Briefansicht
</a>
<a class="" href="/acta-baende.html">
Register
</a>
<a class="" href="/studien.html">
Edition
</a>
</div>
</nav>
</header>
<script>
const _openmenu = function () {
var x = document.getElementById("topnav");
if (x !== null) x.className += " responsive";
let oldbutton = document.getElementById("openmenubutton");
if (oldbutton !== null) oldbutton.setAttribute('class', 'hidden');
let newbutton = document.getElementById("closemenubutton");
if (newbutton !== null) newbutton.setAttribute('class', '');
}
const _closemenu = function () {
var x = document.getElementById("topnav");
if (x !== null) x.className = "topnav";
let oldbutton = document.getElementById("closemenubutton");
if (oldbutton !== null) oldbutton.setAttribute('class', 'hidden');
let newbutton = document.getElementById("openmenubutton");
if (newbutton !== null) newbutton.setAttribute('class', '');
}
const _markactive = function () {
// Marks links as active
var all_links = this.getElementsByTagName("a"),
i = 0, len = all_links.length,
full_path = location.href.split('#')[0]; //Ignore hashes
for (; i < len; i++) {
if (all_links[i].href.split("#")[0] == full_path) {
all_links[i].className += " active";
}
}
}
document.getElementById("openmenubutton").addEventListener('click', _openmenu);
document.getElementById("closemenubutton").addEventListener('click', _closemenu);
</script>

View File

@@ -0,0 +1,3 @@
@using HaWeb
@using HaWeb.Models
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

View File

@@ -0,0 +1,3 @@
@{
Layout = "_Layout";
}

View File

@@ -0,0 +1,8 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}
}

9
HaWeb/appsettings.json Normal file
View File

@@ -0,0 +1,9 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}

1450
HaWeb/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

17
HaWeb/package.json Normal file
View File

@@ -0,0 +1,17 @@
{
"name": "haweb",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"css:build": "npx tailwind build ./wwwroot/css/site.css -o ./wwwroot/css/output.css"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"autoprefixer": "^10.4.7",
"postcss": "^8.4.13",
"tailwindcss": "^3.0.24"
}
}

6
HaWeb/postcss.config.js Normal file
View File

@@ -0,0 +1,6 @@
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
}

26
HaWeb/tailwind.config.js Normal file
View File

@@ -0,0 +1,26 @@
module.exports = {
content: [
"./wwwroot/**/*.{html,js}",
"./Views/**/*.{cshtml,html,js}",
],
theme: {
fontFamily: {
sans: ['Biolinum', 'sans-serif'],
serif: ['Libertine', 'serif'],
},
screens: {
'sm': '786px',
'md': '1024px',
'lg': '1312px',
'xl': '1440px',
'2xl': '1680px',
},
extend: {
colors: {
'hamannHighlight': '#d80000',
'hamannLightHighlight': '#cc7878'
}
},
},
plugins: [],
}

View File

@@ -0,0 +1,937 @@
/*
! tailwindcss v3.0.24 | MIT License | https://tailwindcss.com
*/
/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/
*,
::before,
::after {
box-sizing: border-box;
/* 1 */
border-width: 0;
/* 2 */
border-style: solid;
/* 2 */
border-color: #e5e7eb;
/* 2 */
}
::before,
::after {
--tw-content: '';
}
/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
*/
html {
line-height: 1.5;
/* 1 */
-webkit-text-size-adjust: 100%;
/* 2 */
-moz-tab-size: 4;
/* 3 */
-o-tab-size: 4;
tab-size: 4;
/* 3 */
font-family: Biolinum, sans-serif;
/* 4 */
}
/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/
body {
margin: 0;
/* 1 */
line-height: inherit;
/* 2 */
}
/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/
hr {
height: 0;
/* 1 */
color: inherit;
/* 2 */
border-top-width: 1px;
/* 3 */
}
/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr:where([title]) {
-webkit-text-decoration: underline dotted;
text-decoration: underline dotted;
}
/*
Remove the default font size and weight for headings.
*/
h1,
h2,
h3,
h4,
h5,
h6 {
font-size: inherit;
font-weight: inherit;
}
/*
Reset links to optimize for opt-in styling instead of opt-out.
*/
a {
color: inherit;
text-decoration: inherit;
}
/*
Add the correct font weight in Edge and Safari.
*/
b,
strong {
font-weight: bolder;
}
/*
1. Use the user's configured `mono` font family by default.
2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
/* 1 */
font-size: 1em;
/* 2 */
}
/*
Add the correct font size in all browsers.
*/
small {
font-size: 80%;
}
/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/
table {
text-indent: 0;
/* 1 */
border-color: inherit;
/* 2 */
border-collapse: collapse;
/* 3 */
}
/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/
button,
input,
optgroup,
select,
textarea {
font-family: inherit;
/* 1 */
font-size: 100%;
/* 1 */
line-height: inherit;
/* 1 */
color: inherit;
/* 1 */
margin: 0;
/* 2 */
padding: 0;
/* 3 */
}
/*
Remove the inheritance of text transform in Edge and Firefox.
*/
button,
select {
text-transform: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/
button,
[type='button'],
[type='reset'],
[type='submit'] {
-webkit-appearance: button;
/* 1 */
background-color: transparent;
/* 2 */
background-image: none;
/* 2 */
}
/*
Use the modern Firefox focus style for all focusable elements.
*/
:-moz-focusring {
outline: auto;
}
/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/
:-moz-ui-invalid {
box-shadow: none;
}
/*
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
vertical-align: baseline;
}
/*
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
height: auto;
}
/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/
[type='search'] {
-webkit-appearance: textfield;
/* 1 */
outline-offset: -2px;
/* 2 */
}
/*
Remove the inner padding in Chrome and Safari on macOS.
*/
::-webkit-search-decoration {
-webkit-appearance: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button;
/* 1 */
font: inherit;
/* 2 */
}
/*
Add the correct display in Chrome and Safari.
*/
summary {
display: list-item;
}
/*
Removes the default spacing and border for appropriate elements.
*/
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
margin: 0;
}
fieldset {
margin: 0;
padding: 0;
}
legend {
padding: 0;
}
ol,
ul,
menu {
list-style: none;
margin: 0;
padding: 0;
}
/*
Prevent resizing textareas horizontally by default.
*/
textarea {
resize: vertical;
}
/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/
input::-moz-placeholder, textarea::-moz-placeholder {
opacity: 1;
/* 1 */
color: #9ca3af;
/* 2 */
}
input:-ms-input-placeholder, textarea:-ms-input-placeholder {
opacity: 1;
/* 1 */
color: #9ca3af;
/* 2 */
}
input::placeholder,
textarea::placeholder {
opacity: 1;
/* 1 */
color: #9ca3af;
/* 2 */
}
/*
Set the default cursor for buttons.
*/
button,
[role="button"] {
cursor: pointer;
}
/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
cursor: default;
}
/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
This can trigger a poorly considered lint error in some tools but is included by design.
*/
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
display: block;
/* 1 */
vertical-align: middle;
/* 2 */
}
/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/
img,
video {
max-width: 100%;
height: auto;
}
/*
Ensure the default browser behavior of the `hidden` attribute.
*/
[hidden] {
display: none;
}
*, ::before, ::after {
--tw-translate-x: 0;
--tw-translate-y: 0;
--tw-rotate: 0;
--tw-skew-x: 0;
--tw-skew-y: 0;
--tw-scale-x: 1;
--tw-scale-y: 1;
--tw-pan-x: ;
--tw-pan-y: ;
--tw-pinch-zoom: ;
--tw-scroll-snap-strictness: proximity;
--tw-ordinal: ;
--tw-slashed-zero: ;
--tw-numeric-figure: ;
--tw-numeric-spacing: ;
--tw-numeric-fraction: ;
--tw-ring-inset: ;
--tw-ring-offset-width: 0px;
--tw-ring-offset-color: #fff;
--tw-ring-color: rgb(59 130 246 / 0.5);
--tw-ring-offset-shadow: 0 0 #0000;
--tw-ring-shadow: 0 0 #0000;
--tw-shadow: 0 0 #0000;
--tw-shadow-colored: 0 0 #0000;
--tw-blur: ;
--tw-brightness: ;
--tw-contrast: ;
--tw-grayscale: ;
--tw-hue-rotate: ;
--tw-invert: ;
--tw-saturate: ;
--tw-sepia: ;
--tw-drop-shadow: ;
--tw-backdrop-blur: ;
--tw-backdrop-brightness: ;
--tw-backdrop-contrast: ;
--tw-backdrop-grayscale: ;
--tw-backdrop-hue-rotate: ;
--tw-backdrop-invert: ;
--tw-backdrop-opacity: ;
--tw-backdrop-saturate: ;
--tw-backdrop-sepia: ;
}
.container {
width: 100%;
}
@media (min-width: 786px) {
.container {
max-width: 786px;
}
}
@media (min-width: 1024px) {
.container {
max-width: 1024px;
}
}
@media (min-width: 1312px) {
.container {
max-width: 1312px;
}
}
@media (min-width: 1440px) {
.container {
max-width: 1440px;
}
}
@media (min-width: 1680px) {
.container {
max-width: 1680px;
}
}
body {
font-size: 1rem;
line-height: 1.5rem;
}
@media (min-width: 1312px) {
body {
font-size: 1.125rem;
line-height: 1.75rem;
}
}
p {
margin-top: 0.75rem;
margin-bottom: 0.75rem;
}
h1 {
font-size: 1.25rem;
line-height: 1.75rem;
font-weight: 700;
}
@media (min-width: 1680px) {
h1 {
font-size: 2.25rem;
line-height: 2.5rem;
font-weight: 400;
}
}
h2 {
font-size: 1.125rem;
line-height: 1.75rem;
}
@media (min-width: 1680px) {
h2 {
font-size: 1.5rem;
line-height: 2rem;
}
}
a {
--tw-text-opacity: 1;
color: rgb(55 65 81 / var(--tw-text-opacity));
}
a:hover {
--tw-text-opacity: 1;
color: rgb(17 24 39 / var(--tw-text-opacity));
}
.topnav {
margin-bottom: 0.25rem;
display: flex;
}
@media (min-width: 1024px) {
.topnav {
font-size: 1.125rem;
line-height: 1.75rem;
}
}
@media (min-width: 1312px) {
.topnav {
flex-shrink: 0;
flex-grow: 0;
place-self: end;
}
}
@media (min-width: 1680px) {
.topnav {
font-size: 1.25rem;
line-height: 1.75rem;
}
}
.topnav a {
display: none;
padding-right: 1.25rem;
}
@media (min-width: 1312px) {
.topnav a {
display: inline;
}
}
@media (min-width: 1680px) {
.topnav a {
padding-right: 1.5rem;
}
}
.active {
--tw-text-opacity: 1;
color: rgb(216 0 0 / var(--tw-text-opacity));
}
.topnav.responsive {
margin-top: 1rem;
font-size: 1rem;
line-height: 1.5rem;
}
.static {
position: static;
}
.sticky {
position: -webkit-sticky;
position: sticky;
}
.mb-6 {
margin-bottom: 1.5rem;
}
.mr-2 {
margin-right: 0.5rem;
}
.inline-block {
display: inline-block;
}
.flex {
display: flex;
}
.hidden {
display: none;
}
.h-8 {
height: 2rem;
}
.w-8 {
width: 2rem;
}
.shrink-0 {
flex-shrink: 0;
}
.shrink {
flex-shrink: 1;
}
.grow-0 {
flex-grow: 0;
}
.grow {
flex-grow: 1;
}
.flex-row {
flex-direction: row;
}
.flex-wrap {
flex-wrap: wrap;
}
.border {
border-width: 1px;
}
.border-t-\[5px\] {
border-top-width: 5px;
}
.border-gray-300 {
--tw-border-opacity: 1;
border-color: rgb(209 213 219 / var(--tw-border-opacity));
}
.border-gray-900 {
--tw-border-opacity: 1;
border-color: rgb(17 24 39 / var(--tw-border-opacity));
}
.border-t-gray-200 {
--tw-border-opacity: 1;
border-top-color: rgb(229 231 235 / var(--tw-border-opacity));
}
.border-l-gray-200 {
--tw-border-opacity: 1;
border-left-color: rgb(229 231 235 / var(--tw-border-opacity));
}
.bg-slate-50 {
--tw-bg-opacity: 1;
background-color: rgb(248 250 252 / var(--tw-bg-opacity));
}
.p-1 {
padding: 0.25rem;
}
.py-3 {
padding-top: 0.75rem;
padding-bottom: 0.75rem;
}
.px-3 {
padding-left: 0.75rem;
padding-right: 0.75rem;
}
.pb-3 {
padding-bottom: 0.75rem;
}
.pr-3 {
padding-right: 0.75rem;
}
.align-baseline {
vertical-align: baseline;
}
.align-bottom {
vertical-align: bottom;
}
.font-serif {
font-family: Libertine, serif;
}
.text-xl {
font-size: 1.25rem;
line-height: 1.75rem;
}
.text-black {
--tw-text-opacity: 1;
color: rgb(0 0 0 / var(--tw-text-opacity));
}
/* Regular woff-files for regular font variants
Instead we use the Graphite versions of the font currently
@font-face {
font-family: 'Biolinum';
src: url('../fonts/LinBiolinum_R.woff') format('woff');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'Libertine';
src: url('../fonts/LinLibertine_R.woff') format('woff');
font-weight: normal;
font-style: normal;
}
*/
@font-face {
font-family: 'Biolinum';
src: url('/fonts/LinBiolinum_R_G.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'Libertine';
src: url('/fonts/LinLibertine_R_G.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'Biolinum';
src: url('../fonts/LinBiolinum_RI.woff') format('woff');
font-weight: normal;
font-style: italic;
}
@font-face {
font-family: 'Biolinum';
src: url('../fonts/LinBiolinum_RB.woff') format('woff');
font-weight: bold;
font-style: normal;
}
@font-face {
font-family: 'Libertine';
src: url('../fonts/LinLibertine_RI.woff') format('woff');
font-weight: normal;
font-style: italic;
}
@font-face {
font-family: 'Libertine';
src: url('../fonts/LinLibertine_RB.woff') format('woff');
font-weight: bold;
font-style: normal;
}
@font-face {
font-family: 'Playfair';
src: url('../fonts/PlayfairDisplay-VariableFont_wght.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
body {
background-image:url('../img/subtlenet2.png');
background-repeat:repeat;
}
ul {
list-style-type:circle;
}
.ha-maincolumn {
max-width:1280px;
}
.ha-maincolumn p {
-webkit-hyphens:auto;
-ms-hyphens:auto;
hyphens:auto;
}
.ha-menusymbol {
background:var(--white);
border-radius:4px;
}
.ha-menusymbol svg {
width:24px;
height:24px;
stroke:#000000;
stroke-width:2;
stroke-linecap:round;
stroke-linejoin:miter;
fill:none;
color:#000000;
}
@media screen and (max-width:1344px) {
.topnav.responsive {
display:block !important;
width:100%;
}
.topnav.responsive a {
display:block;
text-align:left;
clear:both;
}
}
.hover\:text-black:hover {
--tw-text-opacity: 1;
color: rgb(0 0 0 / var(--tw-text-opacity));
}
@media (min-width: 786px) {
.sm\:inline {
display: inline;
}
.sm\:hidden {
display: none;
}
}
@media (min-width: 1024px) {
.md\:inline {
display: inline;
}
.md\:hidden {
display: none;
}
}
@media (min-width: 1312px) {
.lg\:hidden {
display: none;
}
.lg\:px-8 {
padding-left: 2rem;
padding-right: 2rem;
}
}
@media (min-width: 1440px) {
.xl\:h-12 {
height: 3rem;
}
.xl\:w-12 {
width: 3rem;
}
.xl\:text-3xl {
font-size: 1.875rem;
line-height: 2.25rem;
}
}

159
HaWeb/wwwroot/css/site.css Normal file
View File

@@ -0,0 +1,159 @@
@tailwind base;
@tailwind components;
@tailwind utilities;
/* Regular woff-files for regular font variants
Instead we use the Graphite versions of the font currently
@font-face {
font-family: 'Biolinum';
src: url('../fonts/LinBiolinum_R.woff') format('woff');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'Libertine';
src: url('../fonts/LinLibertine_R.woff') format('woff');
font-weight: normal;
font-style: normal;
}
*/
@font-face {
font-family: 'Biolinum';
src: url('/fonts/LinBiolinum_R_G.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'Libertine';
src: url('/fonts/LinLibertine_R_G.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'Biolinum';
src: url('../fonts/LinBiolinum_RI.woff') format('woff');
font-weight: normal;
font-style: italic;
}
@font-face {
font-family: 'Biolinum';
src: url('../fonts/LinBiolinum_RB.woff') format('woff');
font-weight: bold;
font-style: normal;
}
@font-face {
font-family: 'Libertine';
src: url('../fonts/LinLibertine_RI.woff') format('woff');
font-weight: normal;
font-style: italic;
}
@font-face {
font-family: 'Libertine';
src: url('../fonts/LinLibertine_RB.woff') format('woff');
font-weight: bold;
font-style: normal;
}
@font-face {
font-family: 'Playfair';
src: url('../fonts/PlayfairDisplay-VariableFont_wght.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
@layer components {
body {
@apply text-base lg:text-lg
}
p {
@apply my-3
}
h1 {
@apply font-bold text-xl 2xl:font-normal 2xl:text-4xl
}
h2 {
@apply text-lg 2xl:text-2xl
}
a {
@apply text-gray-700 hover:text-gray-900
}
.topnav {
@apply flex lg:grow-0 lg:shrink-0 md:text-lg 2xl:text-xl lg:place-self-end mb-1
}
.topnav a {
@apply hidden lg:inline pr-5 2xl:pr-6
}
.active {
@apply text-hamannHighlight
}
.ha-maincolumn {
@apply bg-slate-50 mx-auto p-2 md:p-4 lg:px-16 lg:py-12 xl:pr-80 text-lg font-serif
}
.topnav.responsive {
@apply mt-4 text-base;
}
}
body {
background-image:url('../img/subtlenet2.png');
background-repeat:repeat;
}
ul {
list-style-type:circle;
}
.ha-maincolumn {
max-width:1280px;
}
.ha-maincolumn p {
hyphens:auto;
}
.ha-menusymbol {
background:var(--white);
border-radius:4px;
}
.ha-menusymbol svg {
width:24px;
height:24px;
stroke:#000000;
stroke-width:2;
stroke-linecap:round;
stroke-linejoin:miter;
fill:none;
color:#000000;
}
@media screen and (max-width:1344px) {
.topnav.responsive {
display:block !important;
width:100%;
}
.topnav.responsive a {
display:block;
text-align:left;
clear:both;
}
}

BIN
HaWeb/wwwroot/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 247 B

4
HaWeb/wwwroot/js/site.js Normal file
View File

@@ -0,0 +1,4 @@
// Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification
// for details on configuring this project to bundle and minify static web assets.
// Write your JavaScript code.