it's module time

This commit is contained in:
Anish Lakhwara 2022-04-16 12:27:47 +10:00
parent e787a657a7
commit c950ce40c9
7 changed files with 65 additions and 37 deletions

View file

@ -214,12 +214,13 @@ def get_tags(page):
def fix_images_urls(page): def fix_images_urls(page):
regex = r"\!\[.*\]\((.*)\)" regex = r"\!\[.*\]\((.*)\)"
matches = re.finditer(regex, page, re.MULTILINE) matches = re.finditer(regex, page, re.MULTILINE)
media_folder = 'media/' # TODO bad hard code
for matchNum, match in enumerate(matches, start=1): for matchNum, match in enumerate(matches, start=1):
for groupNum in range(0, len(match.groups())): for groupNum in range(0, len(match.groups())):
captured_group = match.group(groupNum + 1) captured_group = match.group(groupNum + 1)
if captured_group[:4] != "http": if captured_group[:4] != "http":
full_url = build_url + config.medias_folder + captured_group full_url = build_url + media_folder + captured_group
page = page.replace(captured_group, full_url) page = page.replace(captured_group, full_url)
return page return page
@ -303,8 +304,8 @@ def replacement_function(replace):
line2 = lines[1].split(',') line2 = lines[1].split(',')
line1len = len(line1) line1len = len(line1)
line2len = len(line2) line2len = len(line2)
first = line1[random.randrange(line1len)] first = line1[random.randrange(line1len)].strip('\n')
second = line2[random.randrange(line2len)] second = line2[random.randrange(line2len)].strip('\n')
return first + ' ' + second return first + ' ' + second
@ -535,8 +536,8 @@ def create_rss_feed(rss_entries, rss_template, rss_item_template, site_folder):
entry_template = itemTemplate entry_template = itemTemplate
entry_template = entry_template.replace( entry_template = entry_template.replace(
'rssItemTitle', rss_entry["title"]) 'rssItemTitle', rss_entry["title"])
entry_template = entry_template.replace('rssItemUrl', build_url + entry_template = entry_template.replace('rssItemUrl', build_url
rss_entry["slug"]) + rss_entry["slug"])
entry_template = entry_template.replace( entry_template = entry_template.replace(
'rssItemDate', rss_entry["iso_date"]) 'rssItemDate', rss_entry["iso_date"])
entry_template = entry_template.replace( entry_template = entry_template.replace(

BIN
basant/media/could.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

BIN
basant/media/does.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

BIN
basant/media/everything.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 KiB

BIN
basant/media/rocks.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

View file

@ -50,11 +50,11 @@
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs_2"
}, },
"locked": { "locked": {
"lastModified": 1649943612, "lastModified": 1650035341,
"narHash": "sha256-SDpQSBgNkfpBCIFnwH7gtDi+Ip0/3QdlGmiumM6W5xA=", "narHash": "sha256-vYtvVKRIrdOrsPKr1oVrTj7wzBKeips698TTc/e6gk4=",
"ref": "main", "ref": "main",
"rev": "c18b26c49ece10fbd770d8422661c34363ecc199", "rev": "b6b97f649cd41a6dc19430e48a17fcb83a71f735",
"revCount": 308, "revCount": 324,
"type": "git", "type": "git",
"url": "ssh://gitea@git.sealight.xyz/aynish/kitaab" "url": "ssh://gitea@git.sealight.xyz/aynish/kitaab"
}, },

View file

@ -59,35 +59,62 @@
''; '';
}; };
defaultPackage = self.packages.${system}.site; defaultPackage = self.packages.${system}.site;
#nixosModule = { options, lib, config, pkgs, ... }:
# let
# serverName = "anish.lakhwara.com";
# webRoot = "/var/www/${serverName}";
# serviceConfig = config.services."${serverName}"; # Test container
# options = { nixosConfigurations.container = nixpkgs.lib.nixosSystem {
# enable = lib.mkEnableOption "${serverName} service"; system = "x86_64-linux";
# }; modules = [
# in self.nixosModule
# { ({ pkgs, ... }: {
# options.services.${serverName} = options; # Only allow this to boot as a container
# config = lib.mkIf serviceConfig.enable { boot.isContainer = true;
# systemd.services."source-${serverName}" = { networking.hostName = "basant";
# description = '' services."anish.lakhwara.com".enable = true;
# https://${serverName} source })
# ''; ];
# serviceConfig = { };
# Type = "oneshot";
# };
# startAt = "*00:00:00";
# path = with pkgs; [ nix gnutar gzip curl jq ];
# script = ''
# set -ex
# ln -sfT ${flake.packages.system.site} ${webRoot} # also need a module that refreshes this flake.lock, but maybe that shouldn't live here?
# ''; nixosModule = { options, lib, config, pkgs, ... }:
# }; let
# }; serverName = "anish.lakhwara.com";
# }; webRoot = "/var/www/${serverName}";
serviceConfig = config.services."${serverName}";
options = {
enable = lib.mkEnableOption "${serverName} service";
};
in
{
options.services.${serverName} = options;
config = lib.mkIf serviceConfig.enable {
systemd.services."source-${serverName}" = {
description = ''
https://${serverName} source
'';
wantedBy = [ "multi-user.target" ];
serviceConfig = {
Type = "oneshot";
DynamicUser = "yes";
};
startAt = "*00:00:00";
path = with pkgs; [ nix gnutar gzip curl jq ] ++ [ self.packages.${system}.site ];
script = ''
set -ex
ln -sfT ${self.packages.${system}.site} ${webRoot}
'';
};
# Allow nginx through the firewall
networking.firewall.allowedTCPPorts = [ 80 ];
services.nginx.enable = true;
services.nginx.virtualHosts.${serverName} = {
forceSSL = true;
enableACME = true;
locations."/" = { root = "${webRoot}"; };
};
};
};
}); });
} }