Added nix package that build site from org mode
This commit is contained in:
parent
631e7c2237
commit
94ab268ab9
6 changed files with 110 additions and 66 deletions
27
flake.lock
generated
Normal file
27
flake.lock
generated
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
"nodes": {
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1760878510,
|
||||
"narHash": "sha256-K5Osef2qexezUfs0alLvZ7nQFTGS9DL2oTVsIXsqLgs=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "5e2a59a5b1a82f89f2c7e598302a9cacebb72a67",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
||||
13
flake.nix
Normal file
13
flake.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
description = "A flake to build my website";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
||||
};
|
||||
|
||||
outputs = {self, ...} @ inputs: let
|
||||
pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
|
||||
in {
|
||||
packages.x86_64-linux.website = pkgs.callPackage ./package.nix {};
|
||||
};
|
||||
}
|
||||
66
index.html
66
index.html
|
|
@ -1,66 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<meta name="mobile-web-app-capable" content="yes" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="authorization_endpoint" href="https://indieauth.com/auth">
|
||||
<link rel="token_endpoint" href="https://tokens.indieauth.com/token">
|
||||
<!-- To use social readers via microsub, follow these steps.
|
||||
(Details: https://indieweb.org/Microsub#Getting_Started)
|
||||
1. After publishing this to your domain, sign in to https://aperture.p3k.io/login with your domain
|
||||
2. You will see a <link> tag displayed on your dashboard that looks like:
|
||||
<link rel="microsub" href="https://aperture.p3k.io/microsub/000">
|
||||
3. Copy that <link> tag and paste it after this HTML comment.
|
||||
4. Publish the updated page!
|
||||
-->
|
||||
<title>Aleksandr Lebedev</title>
|
||||
<style>
|
||||
@media (prefers-color-scheme: dark) {
|
||||
html { background-color: #111111; color: #fbfbfb; }
|
||||
a { color: #ca8465; }
|
||||
}
|
||||
body {
|
||||
line-height: 1.6;
|
||||
font-family: system-ui, -apple-system, BlinkMacSystemFont, Roboto, Helvetica, Arial, sans-serif;
|
||||
text-align: center;
|
||||
margin: 1rem auto;
|
||||
min-height: 90vh;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
img.u-photo { border-radius: 50%; }
|
||||
ul { padding: 0; list-style: none; }
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Reference for representative h-card properties: https://microformats.org/wiki/h-card -->
|
||||
<main class="h-card" rel="author">
|
||||
<!-- Uncomment and add __your_image__ to display a photo!
|
||||
<img class="u-photo" alt="My profile photo" src="__your_image__" />
|
||||
-->
|
||||
<h1>
|
||||
I'm <span class="p-name">Sasha</span>.
|
||||
</h1>
|
||||
|
||||
<p class="p-note">
|
||||
...and I am a human on the Internet.
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<!-- Replace __this_page__ with your domain -->
|
||||
<li><a class="u-uid u-url" href="aleksandrlebedev.com">My New Website</a></li>
|
||||
|
||||
<!-- Update or remove the below links! -->
|
||||
|
||||
<!-- Replace _mygithubid_ with your GitHub username in both places on the next line: -->
|
||||
<li>Github: <a class="u-url" href="https://github.com/KyleKrein" rel="me">@_mygithubid_</a></li>
|
||||
|
||||
</ul>
|
||||
</main>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
7
index.org
Normal file
7
index.org
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
#+title: Aleksandr Lebedev
|
||||
|
||||
Hi! Welcome to my new [[https://alexanderlebedev.com][website]]!
|
||||
|
||||
* How to find me:
|
||||
|
||||
- [[https://git.kylekrein.com/kylekrein][Forgejo (Git)]]
|
||||
46
package.nix
Normal file
46
package.nix
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
{
|
||||
stdenvNoCC,
|
||||
writeText,
|
||||
emacs,
|
||||
}: let
|
||||
src = ./.;
|
||||
buildScript = writeText "build-site.el" ''
|
||||
;; Load the publishing system
|
||||
(require 'ox-publish)
|
||||
;; Define the publishing project
|
||||
(setq org-publish-project-alist
|
||||
(list
|
||||
(list "kylekrein's website"
|
||||
:recursive t
|
||||
:base-directory "${src}"
|
||||
:publishing-directory "./public"
|
||||
:publishing-function 'org-html-publish-to-html
|
||||
:with-author nil ;; Don't include author name
|
||||
:with-creator t ;; Include Emacs and Org versions in footer
|
||||
:with-toc nil ;; Include a table of contents
|
||||
:section-numbers nil ;; Don't include section numbers
|
||||
:time-stamp-file nil))) ;; Don't include time stamp in file
|
||||
|
||||
;; Customize the HTML output
|
||||
(setq org-html-validation-link nil ;; Don't show validation link
|
||||
org-html-head-include-scripts nil ;; Use our own scripts
|
||||
org-html-head-include-default-style nil ;; Use our own styles
|
||||
org-html-head "<link rel=\"stylesheet\" href=\"${./style.css}\" />")
|
||||
|
||||
;; Generate the site output
|
||||
(org-publish-all t)
|
||||
(message "Build complete!")
|
||||
'';
|
||||
in
|
||||
stdenvNoCC.mkDerivation {
|
||||
name = "KyleKrein's Website";
|
||||
inherit src;
|
||||
buildPhase = ''
|
||||
HOME=$(pwd) ${emacs}/bin/emacs -Q --script ${buildScript}
|
||||
'';
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
cd public
|
||||
cp -r . $out/
|
||||
'';
|
||||
}
|
||||
17
style.css
Normal file
17
style.css
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
@media (prefers-color-scheme: dark) {
|
||||
html { background-color: #111111; color: #fbfbfb; }
|
||||
a { color: #ca8465; }
|
||||
}
|
||||
body {
|
||||
line-height: 1.6;
|
||||
font-family: system-ui, -apple-system, BlinkMacSystemFont, Roboto, Helvetica, Arial, sans-serif;
|
||||
text-align: center;
|
||||
margin: 1rem auto;
|
||||
min-height: 90vh;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
img.u-photo { border-radius: 50%; }
|
||||
ul { padding: 0; list-style: none; }
|
||||
Loading…
Add table
Add a link
Reference in a new issue