completely refactored to hugo specifications
4
.gitignore
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
.git/
|
||||
.idea/
|
||||
.hugo_build.lock
|
||||
public/
|
6
archetypes/default.md
Normal file
@ -0,0 +1,6 @@
|
||||
---
|
||||
title: "{{ replace .Name "-" " " | title }}"
|
||||
date: {{ .Date }}
|
||||
tags: []
|
||||
draft: false
|
||||
---
|
16
config.toml
Normal file
@ -0,0 +1,16 @@
|
||||
baseURL = 'https://ataricode.com/'
|
||||
languageCode = 'en-us'
|
||||
title = 'Atari Code'
|
||||
|
||||
|
||||
[permalinks]
|
||||
blog = "/:filename/"
|
||||
|
||||
[params]
|
||||
logo = "img/atari-symbol-only-no-background.png"
|
||||
titleLink = "https://ataricode.com/"
|
||||
subtitle = "A site devoted to learning to code on Atari 8-Bit computers."
|
||||
home = "/"
|
||||
blog = "/blog/"
|
||||
links = "/links/"
|
||||
videos = "https://odysee.com/@ataricode:0?view=content"
|
9
content/blog/post-1.md
Normal file
@ -0,0 +1,9 @@
|
||||
---
|
||||
title: "Post 1"
|
||||
date: 2023-01-24T13:52:16Z
|
||||
tags: ["post"]
|
||||
description: The first post
|
||||
draft: false
|
||||
---
|
||||
|
||||
This is a test
|
9
content/blog/post-2.md
Normal file
@ -0,0 +1,9 @@
|
||||
---
|
||||
title: "Post 2"
|
||||
date: 2023-01-24T13:52:30Z
|
||||
tags: ["post"]
|
||||
description: The second post
|
||||
draft: false
|
||||
---
|
||||
|
||||
This is a test
|
9
content/blog/post-3.md
Normal file
@ -0,0 +1,9 @@
|
||||
---
|
||||
title: "Post 3"
|
||||
date: 2023-01-24T13:52:39Z
|
||||
tags: ["post"]
|
||||
description: The third post
|
||||
draft: false
|
||||
---
|
||||
|
||||
This is a test
|
4
content/links.md
Normal file
@ -0,0 +1,4 @@
|
||||
---
|
||||
title: Links
|
||||
description: Useful resources for Atarians
|
||||
---
|
96
index.html
@ -1,96 +0,0 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
|
||||
<title>Atari Code</title>
|
||||
<meta name="keywords" content=""/>
|
||||
<meta name="description" content="A site devoted to learning to code on the Atari 8-Bit line of computers"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" type="text/css" href="css/index.css" media="screen"/>
|
||||
<link rel="icon" type="image/png" href="assets/atari-rainbow.png"/>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="title-wrap">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<img src="assets/atari-rainbow.png" class="title-image" onclick="location.href='https://gmgauthier.com/'" type="button">
|
||||
</td>
|
||||
<td>
|
||||
<p class="title-text" style="float-wrap: none">Atari Code</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<p class="subtitle">A site devoted to learning to code on the Atari 8-Bit line of computers</p>
|
||||
|
||||
<div class="button-row" style="display: flex; float: top; align-content: center; justify-content: center">
|
||||
<button class="Start" onclick="location.href='#'" type="button">Posts</button>
|
||||
<button class="Select" onclick="location.href='#'" type="button">Code</button>
|
||||
<button class="Option" onclick="location.href='#'" type="button">Videos</button>
|
||||
<button class="Reset" onclick="location.href='#'" type="button">Misc</button>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
<div class="button-column" style="float:right">
|
||||
<button class="Start" onclick="location.href='#'" type="button">Posts</button>
|
||||
<button class="Select" onclick="location.href='#'" type="button">Repos</button>
|
||||
<button class="Option" onclick="location.href='#'" type="button">Videos</button>
|
||||
<button class="Reset" onclick="location.href='#'" type="button">About</button>
|
||||
</div>
|
||||
-->
|
||||
|
||||
<div>
|
||||
<h1>H1 Test Text</h1>
|
||||
<p>Some standard text.</p>
|
||||
<p class="p2">Some small text</p>
|
||||
<p class="p3">Some very tiny text</p>
|
||||
</div>
|
||||
|
||||
|
||||
<div style="display: flex">
|
||||
<div class="shadowbox" style="float: left">
|
||||
<h3>Attention!</h3>
|
||||
<p class="p4">Hello, this is a highlighted notice!</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h2>H2 Test Text</h2>
|
||||
<p>Some standard text.</p>
|
||||
<p class="p2">Some small text</p>
|
||||
<p class="p3">Some very tiny text</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3>H3 Test Text</h3>
|
||||
<p>Some standard text.</p>
|
||||
<p class="p2">Some small text</p>
|
||||
<p class="p3">Some very tiny text</p>
|
||||
|
||||
<h4>H4 Test Text</h4>
|
||||
<p>Here is a code block:</p>
|
||||
<pre>
|
||||
100 REM PLAYER/MISSILE EXAMPLE
|
||||
110 DIM A$(512),B$(20)
|
||||
120 X=X+1:READ A:IF A<>-1 THEN B$(X,X)=CHR$(A):GOTO 120
|
||||
130 DATA 0,255,129,129,129,129,129,129,129,129,255,0,-1
|
||||
2000 POKE 559,62:POKE 704,88
|
||||
2020 I=PEEK(106)-16:POKE 54279,I
|
||||
2030 POKE 53277,3:POKE 710,224
|
||||
2040 VTAB=PEEK(134)+PEEK(135)*256
|
||||
2050 ATAB=PEEK(140)+PEEK(141)*256
|
||||
2060 OFFS=I*256+1024-ATAB
|
||||
2070 HI=INT(OFFS/256):LO=OFFS-HI*256
|
||||
2090 POKE VTAB+2,LO:POKE VTAB+3,HI
|
||||
3000 Y=60:Z=100:V=1:H=1
|
||||
4000 A$(Y,Y+11)=B$:POKE 53248,Z
|
||||
4010 Y=Y+V:Z=Z+H
|
||||
4020 IF Y>213 OR Y<33 THEN V=-V
|
||||
4030 IF Z>206 OR Z<49 THEN H=-H
|
||||
4420 GOTO 4000
|
||||
</pre>
|
||||
|
||||
<p class="p3">Here is some p3 text. It will be interesting to see how this text is rendered.</p>
|
||||
|
||||
</body>
|
||||
</html>
|
12
layouts/_default/baseof.html
Normal file
@ -0,0 +1,12 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
{{ partial "head.html"}}
|
||||
<body>
|
||||
|
||||
<div class="container">
|
||||
<main id="main">
|
||||
{{ block "main" . }}{{ end }}
|
||||
</main>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
9
layouts/_default/li.html
Normal file
@ -0,0 +1,9 @@
|
||||
<li style="list-style-type: circle;">
|
||||
{{ if isset .Params "image" }}
|
||||
<img src="{{ .Site.Params.blogCdnUrl }}{{.Params.image}}" width="120px" height="60px" style="vertical-align: middle; padding: 1px"/>
|
||||
{{ else }}
|
||||
<img src="https://gmgauthier.us-east-1.linodeobjects.com/blog/img/blue-gray-code.jpg"
|
||||
width="120px" height="60px" style="vertical-align: middle; padding: 1px"/>
|
||||
{{end}}
|
||||
<time style="font-family: 'Courier'; font-weight: bold">{{.Date.Format "02 Jan 2006"}}</time> - <a href="{{ .Permalink }}">{{ .Title }}</a>
|
||||
</li>
|
17
layouts/_default/list.html
Normal file
@ -0,0 +1,17 @@
|
||||
{{ define "main" }}
|
||||
|
||||
<p class="title-text" style="text-align: center">Recent Posts</p>
|
||||
<p class="subtitle" style="text-align: center">Things I've been working on</p>
|
||||
{{ partial "nav.html" . }}
|
||||
|
||||
<div class="content">
|
||||
{{ range .Data.Pages.GroupByDate "2006" }}
|
||||
<h2>{{ .Key }}</h2>
|
||||
<ul>
|
||||
{{ range .Pages }}
|
||||
{{ .Render "li" }}
|
||||
{{ end }}
|
||||
</ul>
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ end}}
|
8
layouts/_default/single.html
Normal file
@ -0,0 +1,8 @@
|
||||
|
||||
{{ define "main" }}
|
||||
<p class="title-text">{{ .Title }}</p>
|
||||
<p class="subtitle">{{ .Description }}</p>
|
||||
{{ partial "nav.html" . }}
|
||||
{{ .Content }}
|
||||
|
||||
{{ end }}
|
10
layouts/index.html
Normal file
@ -0,0 +1,10 @@
|
||||
{{ define "main" }}
|
||||
<div style="align-content: center; justify-content: center; align-items: baseline">
|
||||
<p class="title-text">
|
||||
<img src={{ .Site.Params.logo }} class="title-image" onclick="location.href='{{ .Site.Params.titleLink }}'" type="button">
|
||||
{{ .Title }}</p>
|
||||
<p class="subtitle">{{ .Site.Params.subtitle | markdownify }}</p>
|
||||
{{ partial "nav.html" . }}
|
||||
</div>
|
||||
{{ partial "welcome.html" }}
|
||||
{{ end }}
|
1
layouts/partials/favicon.html
Normal file
@ -0,0 +1 @@
|
||||
<link rel="shortcut icon" href="{{ .Site.BaseURL }}/img/atari-symbol-only-no-background.png" type="image/png" />
|
8
layouts/partials/head.html
Normal file
@ -0,0 +1,8 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
{{ $css := "css/index.css" | relURL }}
|
||||
<link rel="stylesheet" href="{{ $css }}">
|
||||
<title class="title-text">{{ .Title }}</title>
|
||||
{{ partial "favicon.html" . }}
|
||||
</head>
|
7
layouts/partials/nav.html
Normal file
@ -0,0 +1,7 @@
|
||||
<div class="button-row" style="display: flex; float: top; align-content: center; justify-content: center">
|
||||
<button class="start" onclick="location.href='{{ .Site.Params.home }}'" type="button">Home</button>
|
||||
<button class="select" onclick="location.href='{{ .Site.Params.blog }}'" type="button">Blog</button>
|
||||
<button class="option" onclick="location.href='{{ .Site.Params.links }}'; location.target='_blank'" type="button">Links</button>
|
||||
<button class="reset" onclick="location.href='{{ .Site.Params.videos }}'" type="button">Videos</button>
|
||||
</div>
|
||||
|
80
layouts/partials/welcome.html
Normal file
@ -0,0 +1,80 @@
|
||||
<div>
|
||||
<h1>Welcome!</h1>
|
||||
<p>
|
||||
Well, hello there, Atari friends! Thanks for dropping by! This site is a
|
||||
working record of my attempt to re-educate myself on the Atari 8-Bit
|
||||
computer, and mainly on its programming languages and capabilities. But,
|
||||
along the way, I'll be playing games and experimenting with applications,
|
||||
and looking at other people's projects. So, you may find this interesting,
|
||||
too! I hope you do.
|
||||
</p>
|
||||
|
||||
<p class="p2">Some small text</p>
|
||||
<p class="p3">Some very tiny text</p>
|
||||
</div>
|
||||
|
||||
|
||||
<div style="display: flex">
|
||||
<div class="shadowbox" style="float: left">
|
||||
<h3>Attention!</h3>
|
||||
<p class="p4">Hello, this is a highlighted notice!</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h2>H2 Test Text</h2>
|
||||
<p>Some standard text.</p>
|
||||
<p class="p2">Some small text</p>
|
||||
<p class="p3">Some very tiny text</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3>H3 Test Text</h3>
|
||||
<p>Some standard text.</p>
|
||||
<p class="p2">Some small text</p>
|
||||
<p class="p3">Some very tiny text</p>
|
||||
|
||||
<h4>H4 Test Text</h4>
|
||||
<p>Here is a code block:</p>
|
||||
<pre>
|
||||
100 REM PLAYER/MISSILE EXAMPLE
|
||||
110 DIM A$(512),B$(20)
|
||||
120 X=X+1:READ A:IF A<>-1 THEN B$(X,X)=CHR$(A):GOTO 120
|
||||
130 DATA 0,255,129,129,129,129,129,129,129,129,255,0,-1
|
||||
2000 POKE 559,62:POKE 704,88
|
||||
2020 I=PEEK(106)-16:POKE 54279,I
|
||||
2030 POKE 53277,3:POKE 710,224
|
||||
2040 VTAB=PEEK(134)+PEEK(135)*256
|
||||
2050 ATAB=PEEK(140)+PEEK(141)*256
|
||||
2060 OFFS=I*256+1024-ATAB
|
||||
2070 HI=INT(OFFS/256):LO=OFFS-HI*256
|
||||
2090 POKE VTAB+2,LO:POKE VTAB+3,HI
|
||||
3000 Y=60:Z=100:V=1:H=1
|
||||
4000 A$(Y,Y+11)=B$:POKE 53248,Z
|
||||
4010 Y=Y+V:Z=Z+H
|
||||
4020 IF Y>213 OR Y<33 THEN V=-V
|
||||
4030 IF Z>206 OR Z<49 THEN H=-H
|
||||
4420 GOTO 4000
|
||||
</pre>
|
||||
<p>
|
||||
Here is a code printout!
|
||||
</p>
|
||||
<div class="printout">
|
||||
100 REM PLAYER/MISSILE EXAMPLE<br/>
|
||||
110 DIM A$(512),B$(20)<br/>
|
||||
120 X=X+1:READ A:IF A<>-1 THEN B$(X,X)=CHR$(A):GOTO 120<br/>
|
||||
130 DATA 0,255,129,129,129,129,129,129,129,129,255,0,-1<br/>
|
||||
2000 POKE 559,62:POKE 704,88<br/>
|
||||
2020 I=PEEK(106)-16:POKE 54279,I<br/>
|
||||
2030 POKE 53277,3:POKE 710,224<br/>
|
||||
2040 VTAB=PEEK(134)+PEEK(135)*256<br/>
|
||||
2050 ATAB=PEEK(140)+PEEK(141)*256<br/>
|
||||
2060 OFFS=I*256+1024-ATAB<br/>
|
||||
2070 HI=INT(OFFS/256):LO=OFFS-HI*256<br/>
|
||||
2090 POKE VTAB+2,LO:POKE VTAB+3,HI<br/>
|
||||
3000 Y=60:Z=100:V=1:H=1<br/>
|
||||
4000 A$(Y,Y+11)=B$:POKE 53248,Z<br/>
|
||||
4010 Y=Y+V:Z=Z+H<br/>
|
||||
4020 IF Y>213 OR Y<33 THEN V=-V<br/>
|
||||
4030 IF Z>206 OR Z<49 THEN H=-H<br/>
|
||||
4420 GOTO 4000<br/>
|
||||
</div>
|
@ -35,7 +35,7 @@ HTML
|
||||
{
|
||||
background-color: #0a4984;
|
||||
font-size: 2.5vw;
|
||||
#background-image: url('../assets/Atari_Wallpaper.jpg');
|
||||
#background-image: url('../img/Atari_Wallpaper.jpg');
|
||||
#background-position: 80% 80%;
|
||||
#background-repeat: no-repeat;
|
||||
#background-size: 100%;
|
||||
@ -43,50 +43,62 @@ HTML
|
||||
|
||||
@font-face {
|
||||
font-family: 'Atari Classic Extrasmooth';
|
||||
src: url('../fonts/ATARCE__.TTF') format('truetype');
|
||||
src: url('../font/ATARCE__.TTF') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Atari Classic Smooth';
|
||||
src: url('../fonts/ATARCS__.TTF') format('truetype');
|
||||
src: url('../font/ATARCS__.TTF') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Atari Full';
|
||||
src: url('../fonts/ATARI_FULL.ttf') format('truetype');
|
||||
src: url('../font/ATARI_FULL.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Atari Classic Chunky';
|
||||
src: url('../fonts/ATARCC__.TTF') format('truetype');
|
||||
src: url('../font/ATARCC__.TTF') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Atari Classic Chunky Reverse';
|
||||
src: url('../fonts/ATARCC__.TTF') format('truetype');
|
||||
src: url('../font/ATARCC__.TTF') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
color: black;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Atari Tiny';
|
||||
src: url('../fonts/atari-small-font.ttf') format('truetype');
|
||||
src: url('../font/atari-small-font.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Atarian System Regular';
|
||||
src: url('../fonts/sf-atarian-system.regular.ttf') format('truetype');
|
||||
src: url('../font/sf-atarian-system.regular.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Atarian System Bold';
|
||||
src: url("../fonts/sf-atarian-system.bold.ttf") format('truetype');
|
||||
src: url("../font/sf-atarian-system.bold.ttf") format('truetype');
|
||||
font-weight: bold;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Dot Matrix Regular';
|
||||
src: url("../font/DOTMATRX.TTF") format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Dot Matrix Bold';
|
||||
src: url("../font/DOTMBold.TTF") format('truetype');
|
||||
font-weight: bold;
|
||||
font-style: normal;
|
||||
}
|
||||
@ -97,12 +109,12 @@ body {
|
||||
margin: 0.5em;
|
||||
padding: 0.5em;
|
||||
color: #afcde9;
|
||||
/* background-color: #0a4984; */
|
||||
background-color: #003366;
|
||||
}
|
||||
|
||||
p {
|
||||
font-family: 'Atari Classic Smooth';
|
||||
font-family: 'Atari Classic Extrasmooth';
|
||||
line-height: 1.3;
|
||||
font-size: 0.595em;
|
||||
color: #f2f2f2;
|
||||
}
|
||||
@ -141,27 +153,46 @@ pre {
|
||||
color: #f2f2f2;
|
||||
}
|
||||
|
||||
.codeblock div {
|
||||
width: 87%;
|
||||
border: solid yellow 2px;
|
||||
padding-top: 10px;
|
||||
padding-bottom: 0px;
|
||||
padding-left:10px;
|
||||
margin-left: 25px;
|
||||
background-color: #004d80;
|
||||
font-family: 'Atari Classic Chunky';
|
||||
font-weight: lighter;
|
||||
font-size: 0.525em;
|
||||
line-height: 1.2;
|
||||
overflow-wrap: break-word;
|
||||
color: #f2f2f2;
|
||||
}
|
||||
|
||||
|
||||
.title-wrap {
|
||||
display:flex;
|
||||
justify-content:center;
|
||||
align-items: center;
|
||||
align-items: baseline;
|
||||
alignment-baseline: bottom;
|
||||
}
|
||||
|
||||
.title-text {
|
||||
width: 100%;
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
font-family: 'Atarian System Regular';
|
||||
font-size: 7.3vw;
|
||||
line-height: 1.1;
|
||||
line-height: 1.0;
|
||||
/* #color: #f0e6da; */
|
||||
color: #fcf4dd;
|
||||
}
|
||||
|
||||
.title-image {
|
||||
height:50px;
|
||||
width:65px;
|
||||
padding: 0px;
|
||||
padding-top: 5px;
|
||||
float: bottom;
|
||||
height:40px;
|
||||
width:40px;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
@ -226,6 +257,8 @@ pre {
|
||||
}
|
||||
|
||||
.button-row button {
|
||||
font-family: 'Atarian System Regular';
|
||||
color: #322918;
|
||||
align-content: center;
|
||||
justify-content: center;
|
||||
cursor: pointer;
|
||||
@ -260,6 +293,17 @@ pre {
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.printout {
|
||||
font-family: 'Dot Matrix Regular';
|
||||
font-size: small;
|
||||
color: black;
|
||||
width: 65%;
|
||||
background-color: whitesmoke;
|
||||
border: 2px solid black;
|
||||
margin-left: 40px;
|
||||
box-shadow: 2px 2px darkgray;
|
||||
}
|
||||
|
||||
|
||||
/* unvisited link */
|
||||
a:link {
|
||||
@ -282,7 +326,7 @@ a:active {
|
||||
}
|
||||
|
||||
H1 {
|
||||
color: #f0e6da;
|
||||
color: #d5cdb4;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
font-size: 3.5vw;
|
BIN
static/font/DOTMATRX.TTF
Normal file
BIN
static/font/DOTMBold.TTF
Normal file
BIN
static/font/DOTMREG.TTF
Normal file
BIN
static/font/DotMatrix_TR.TTF
Normal file
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 51 KiB |
Before Width: | Height: | Size: 111 KiB After Width: | Height: | Size: 111 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 51 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
BIN
static/img/atari-symbol-only-no-background.png
Normal file
After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 9.6 KiB |
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |