Updates
1
src/OrchardCore.BenRameyTheme/Assets/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
node_modules
|
||||
BIN
src/OrchardCore.BenRameyTheme/Assets/dist/favicon.ico
vendored
Normal file
|
After Width: | Height: | Size: 15 KiB |
12
src/OrchardCore.BenRameyTheme/Assets/dist/index.html
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>Ben Ramey Blog</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<link rel="icon" href="/favicon.ico" />
|
||||
<script defer src="/styles.js"></script>
|
||||
<link href="/styles.css" rel="stylesheet" />
|
||||
</head>
|
||||
<body></body>
|
||||
</html>
|
||||
131
src/OrchardCore.BenRameyTheme/Assets/dist/styles.css
vendored
Normal file
0
src/OrchardCore.BenRameyTheme/Assets/dist/styles.js
vendored
Normal file
3710
src/OrchardCore.BenRameyTheme/Assets/package-lock.json
generated
Normal file
32
src/OrchardCore.BenRameyTheme/Assets/package.json
Normal file
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"title": "BenRamey.com Blog Theme",
|
||||
"version": "1.0.0",
|
||||
"name": "orchardcore.benrameytheme",
|
||||
"private": true,
|
||||
"homepage": "https://www.benramey.com",
|
||||
"author": "Ben Ramey",
|
||||
"scripts": {
|
||||
"format": "prettier --write \"**/*.{js,json}\"",
|
||||
"watch": "webpack --watch",
|
||||
"start": "webpack serve --open",
|
||||
"build": "webpack --env production"
|
||||
},
|
||||
"devDependencies": {
|
||||
"css-loader": "^6.7.3",
|
||||
"eslint": "^8.35.0",
|
||||
"html-webpack-plugin": "^5.5.0",
|
||||
"mini-css-extract-plugin": "^2.7.3",
|
||||
"prettier": "^2.8.4",
|
||||
"sass": "^1.58.3",
|
||||
"sass-loader": "^13.2.0",
|
||||
"style-loader": "^3.3.1",
|
||||
"webpack": "^5.76.0",
|
||||
"webpack-cli": "^5.0.1",
|
||||
"webpack-dev-middleware": "^6.0.1",
|
||||
"webpack-dev-server": "^4.11.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"bootstrap": "^5.2.3",
|
||||
"prismjs": "^1.29.0"
|
||||
}
|
||||
}
|
||||
BIN
src/OrchardCore.BenRameyTheme/Assets/src/assets/favicon.ico
Normal file
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 198 KiB |
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 826 B |
|
After Width: | Height: | Size: 2.3 KiB |
16
src/OrchardCore.BenRameyTheme/Assets/src/scss/bootstrap-variables.scss
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
$body-bg: #26282d;
|
||||
$body-color: #ced5e2;
|
||||
|
||||
$link-color: lighten($body-color, 50%);
|
||||
|
||||
$font-size-base: 1rem;
|
||||
$h1-font-size: $font-size-base * 2;
|
||||
$h2-font-size: $font-size-base * 1.75;
|
||||
$h3-font-size: $font-size-base * 1.5;
|
||||
$h4-font-size: $font-size-base * 1.25;
|
||||
$h5-font-size: $font-size-base * 1.15;
|
||||
$h6-font-size: $font-size-base;
|
||||
|
||||
$pre-color: $body-color;
|
||||
|
||||
$border-color: lighten($body-bg, 20%);
|
||||
124
src/OrchardCore.BenRameyTheme/Assets/src/scss/styles.scss
Normal file
@@ -0,0 +1,124 @@
|
||||
@import "bootstrap-variables";
|
||||
@import "bootstrap/scss/bootstrap";
|
||||
@import "variables";
|
||||
@import "prismjs/themes/prism-tomorrow.css";
|
||||
|
||||
h1 {
|
||||
color: lighten($body-color, 35%);
|
||||
}
|
||||
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
color: lighten($body-color, 25%);
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3 {
|
||||
a {
|
||||
color: inherit;
|
||||
}
|
||||
}
|
||||
|
||||
header {
|
||||
padding: 10px 0;
|
||||
margin-top: 20px;
|
||||
background-color: lighten($body-bg, 10%);
|
||||
border-width: 1px 0;
|
||||
border-style: solid;
|
||||
border-color: $border-color;
|
||||
|
||||
img {
|
||||
@include border-radius(50%);
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
}
|
||||
small {
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
|
||||
nav.main {
|
||||
margin-bottom: 20px;
|
||||
|
||||
a {
|
||||
display: block;
|
||||
padding: 5px;
|
||||
margin: 0 10px;
|
||||
text-transform: lowercase;
|
||||
}
|
||||
}
|
||||
|
||||
nav.pagination {
|
||||
a,
|
||||
span {
|
||||
display: block;
|
||||
margin: 0 20px;
|
||||
}
|
||||
}
|
||||
|
||||
section {
|
||||
margin: 40px 0;
|
||||
}
|
||||
|
||||
article {
|
||||
&.post {
|
||||
img {
|
||||
display: block;
|
||||
margin: 5px 0;
|
||||
}
|
||||
}
|
||||
div.post-info {
|
||||
nav {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
}
|
||||
time,
|
||||
nav a {
|
||||
display: block;
|
||||
margin: 10px 20px 10px 0;
|
||||
}
|
||||
nav span {
|
||||
display: block;
|
||||
margin: 10px 5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.remark-highlight {
|
||||
@include border-radius();
|
||||
padding: 10px;
|
||||
border: 1px solid $border-color;
|
||||
background-color: lighten($body-bg, 5%);
|
||||
color: lighten($body-color, 5%);
|
||||
margin: 10px 0;
|
||||
|
||||
pre {
|
||||
margin: 0;
|
||||
background-color: inherit;
|
||||
padding: 0;
|
||||
font-size: 87.5%;
|
||||
}
|
||||
}
|
||||
code {
|
||||
color: $code-color;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
display: block;
|
||||
@include border-radius();
|
||||
padding: 10px 20px;
|
||||
background-color: lighten($body-bg, 5%);
|
||||
color: lighten($body-color, 5%);
|
||||
|
||||
p {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
section.comments {
|
||||
min-height: 500px;
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
$code-color: #f8c555;
|
||||
43
src/OrchardCore.BenRameyTheme/Assets/webpack.config.js
Normal file
@@ -0,0 +1,43 @@
|
||||
const path = require("path");
|
||||
const HtmlWebpackPlugin = require("html-webpack-plugin");
|
||||
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
|
||||
|
||||
module.exports = (env) => {
|
||||
return {
|
||||
mode: env.production ? "production" : "development",
|
||||
entry: {
|
||||
styles: "./src/scss/styles.scss",
|
||||
},
|
||||
output: {
|
||||
filename: "[name].js",
|
||||
path: path.resolve(__dirname, "dist"),
|
||||
clean: true,
|
||||
publicPath: "/",
|
||||
},
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /.scss$/i,
|
||||
use: [
|
||||
MiniCssExtractPlugin.loader,
|
||||
"css-loader",
|
||||
"sass-loader",
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
plugins: [
|
||||
new HtmlWebpackPlugin({
|
||||
title: "Ben Ramey Blog",
|
||||
favicon: path.join(__dirname, "src/assets/favicon.ico"),
|
||||
}),
|
||||
new MiniCssExtractPlugin(),
|
||||
],
|
||||
devtool: "inline-source-map",
|
||||
devServer: {
|
||||
static: {
|
||||
directory: path.join(__dirname, "dist"),
|
||||
},
|
||||
},
|
||||
};
|
||||
};
|
||||
9
src/OrchardCore.BenRameyTheme/Manifest.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
using OrchardCore.DisplayManagement.Manifest;
|
||||
|
||||
[assembly: Theme(
|
||||
Name = "OrchardCore.BenRameyTheme",
|
||||
Author = "Ben Ramey",
|
||||
Website = "https://www.benramey.com",
|
||||
Version = "0.0.1",
|
||||
Description = "Theme for BenRamey.com blog"
|
||||
)]
|
||||
@@ -0,0 +1,43 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk.Razor">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<AddRazorSupportForMvc>true</AddRazorSupportForMvc>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Assets\package.json" />
|
||||
<EmbeddedResource Include="Assets\src\assets\favicon.ico" />
|
||||
<EmbeddedResource Include="Assets\src\assets\img\android-chrome-192x192.png" />
|
||||
<EmbeddedResource Include="Assets\src\assets\img\android-chrome-512x512.png" />
|
||||
<EmbeddedResource Include="Assets\src\assets\img\apple-touch-icon.png" />
|
||||
<EmbeddedResource Include="Assets\src\assets\img\favicon-16x16.png" />
|
||||
<EmbeddedResource Include="Assets\src\assets\img\favicon-32x32.png" />
|
||||
<EmbeddedResource Include="Assets\src\scss\bootstrap-variables.scss" />
|
||||
<EmbeddedResource Include="Assets\src\scss\globals.scss" />
|
||||
<EmbeddedResource Include="Assets\src\scss\variables.scss" />
|
||||
<EmbeddedResource Include="Assets\webpack.config.js" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<FrameworkReference Include="Microsoft.AspNetCore.App" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="OrchardCore.Theme.Targets" Version="1.5.0" />
|
||||
<PackageReference Include="OrchardCore.ContentManagement" Version="1.5.0" />
|
||||
<PackageReference Include="OrchardCore.DisplayManagement" Version="1.5.0" />
|
||||
<PackageReference Include="OrchardCore.ResourceManagement" Version="1.5.0" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="Assets\src\js\" />
|
||||
<Folder Include="Styles\" />
|
||||
<Folder Include="wwwroot\assets\img\" />
|
||||
<Folder Include="wwwroot\css\" />
|
||||
<Folder Include="wwwroot\js\" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
27
src/OrchardCore.BenRameyTheme/Views/Layout.liquid
Normal file
@@ -0,0 +1,27 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ Culture.Name }}">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>{% page_title Site.SiteName, position: "before", separator: " - " %}</title>
|
||||
|
||||
{% resources type: "Meta" %}
|
||||
|
||||
<!-- INSERT REQUIRED RESOURCES HERE -->
|
||||
|
||||
{% resources type: "HeadLink" %}
|
||||
{% resources type: "Stylesheet" %}
|
||||
{% resources type: "HeadScript" %}
|
||||
</head>
|
||||
<body dir="{{ Culture.Dir }}">
|
||||
|
||||
{% render_body %}
|
||||
|
||||
<footer>
|
||||
{% render_section "Footer", required: false %}
|
||||
</footer>
|
||||
|
||||
{% script name:"jquery", use_cdn:"true", at:"Foot" %}
|
||||
|
||||
{% resources type: "FootScript" %}
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,17 @@
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace OrchardCore.Cms.MarkdownImport.Controllers
|
||||
{
|
||||
public class HomeController : Controller
|
||||
{
|
||||
public ActionResult Index()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
}
|
||||
}
|
||||
10
src/OrchardCore.Cms.MarkdownImport/Manifest.cs
Normal file
@@ -0,0 +1,10 @@
|
||||
using OrchardCore.Modules.Manifest;
|
||||
|
||||
[assembly: Module(
|
||||
Name = "OrchardCore.Cms.MarkdownImport",
|
||||
Author = "Ben Ramey",
|
||||
Website = "https://benramey.com",
|
||||
Version = "0.0.1",
|
||||
Description = "Provides mechanism to import markdown files.",
|
||||
Category = "Content Management"
|
||||
)]
|
||||
@@ -0,0 +1,21 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk.Razor">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<AddRazorSupportForMvc>true</AddRazorSupportForMvc>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<FrameworkReference Include="Microsoft.AspNetCore.App" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="OrchardCore.Module.Targets" Version="1.5.0" />
|
||||
<PackageReference Include="OrchardCore.ContentManagement" Version="1.5.0" />
|
||||
<PackageReference Include="OrchardCore.ContentTypes.Abstractions" Version="1.5.0" />
|
||||
<PackageReference Include="OrchardCore.DisplayManagement" Version="1.5.0" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
22
src/OrchardCore.Cms.MarkdownImport/Startup.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using Fluid;
|
||||
using OrchardCore.Modules;
|
||||
|
||||
namespace OrchardCore.Cms.MarkdownImport
|
||||
{
|
||||
public class Startup : StartupBase
|
||||
{
|
||||
public override void ConfigureServices(IServiceCollection services)
|
||||
{
|
||||
}
|
||||
|
||||
public override void Configure(IApplicationBuilder builder, IEndpointRouteBuilder routes, IServiceProvider serviceProvider)
|
||||
{
|
||||
routes.MapAreaControllerRoute(
|
||||
name: "Home",
|
||||
areaName: "OrchardCore.Cms.MarkdownImport",
|
||||
pattern: "Home/Index",
|
||||
defaults: new { controller = "Home", action = "Index" }
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
Template
|
||||
@@ -1,21 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<key id="9b532dfe-b3ef-443a-a7b6-28367bdb2d95" version="1">
|
||||
<creationDate>2023-02-24T03:19:44.3578288Z</creationDate>
|
||||
<activationDate>2023-02-24T03:19:44.3568818Z</activationDate>
|
||||
<expirationDate>2023-05-25T03:19:44.3568818Z</expirationDate>
|
||||
<descriptor deserializerType="Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AuthenticatedEncryptorDescriptorDeserializer, Microsoft.AspNetCore.DataProtection, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60">
|
||||
<descriptor>
|
||||
<encryption algorithm="AES_256_CBC" />
|
||||
<validation algorithm="HMACSHA256" />
|
||||
<encryptedSecret decryptorType="Microsoft.AspNetCore.DataProtection.XmlEncryption.NullXmlDecryptor, Microsoft.AspNetCore.DataProtection, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60" xmlns="http://schemas.asp.net/2015/03/dataProtection">
|
||||
<unencryptedKey xmlns="">
|
||||
<!-- This key is not encrypted. -->
|
||||
<masterKey p6:requiresEncryption="true" xmlns:p6="http://schemas.asp.net/2015/03/dataProtection">
|
||||
<!-- Warning: the key below is in an unencrypted form. -->
|
||||
<value>AfKixLuEWNWoEMEFAt0f689XEe+iNOksRu4pc/ZQdmwClfqTyPxWrLLiHnMaNmCtde0InQt//d+JdJHiwJOhaA==</value>
|
||||
</masterKey>
|
||||
</unencryptedKey>
|
||||
</encryptedSecret>
|
||||
</descriptor>
|
||||
</descriptor>
|
||||
</key>
|
||||
@@ -1 +0,0 @@
|
||||
{}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"Default": {
|
||||
"VersionId": "4yerepyys93vrv4crq3vzqmnm5"
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 403 KiB |