Add agus_dev's submission
This commit is contained in:
parent
0895660972
commit
7b2d016fe2
Binary file not shown.
After Width: | Height: | Size: 48 KiB |
|
@ -5,23 +5,28 @@ import (
|
|||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"net"
|
||||
"os"
|
||||
"os/exec"
|
||||
"path/filepath"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"git.handmade.network/hmn/hmn/src/assets"
|
||||
"git.handmade.network/hmn/hmn/src/auth"
|
||||
"git.handmade.network/hmn/hmn/src/config"
|
||||
"git.handmade.network/hmn/hmn/src/db"
|
||||
"git.handmade.network/hmn/hmn/src/email"
|
||||
"git.handmade.network/hmn/hmn/src/hmnurl"
|
||||
"git.handmade.network/hmn/hmn/src/logging"
|
||||
"git.handmade.network/hmn/hmn/src/models"
|
||||
"git.handmade.network/hmn/hmn/src/oops"
|
||||
"git.handmade.network/hmn/hmn/src/perf"
|
||||
"git.handmade.network/hmn/hmn/src/templates"
|
||||
"git.handmade.network/hmn/hmn/src/utils"
|
||||
"git.handmade.network/hmn/hmn/src/website"
|
||||
"github.com/google/uuid"
|
||||
"github.com/jackc/pgx/v5"
|
||||
|
@ -583,5 +588,34 @@ func init() {
|
|||
}
|
||||
adminCommand.AddCommand(extractImage)
|
||||
|
||||
uploadAsset := &cobra.Command{
|
||||
Use: "uploadasset <file> <content type>",
|
||||
Short: "Upload a file to our asset CDN",
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
if len(args) < 2 {
|
||||
cmd.Usage()
|
||||
os.Exit(1)
|
||||
}
|
||||
fname := args[0]
|
||||
contentType := args[1]
|
||||
|
||||
ctx := context.Background()
|
||||
conn := db.NewConn()
|
||||
defer conn.Close(ctx)
|
||||
|
||||
assetContents := utils.Must1(io.ReadAll(utils.Must1(os.Open(fname))))
|
||||
assetFilename := filepath.Base(fname)
|
||||
|
||||
fmt.Printf("Uploading %s with content type %s...\n", assetFilename, contentType)
|
||||
asset := utils.Must1(assets.Create(ctx, conn, assets.CreateInput{
|
||||
Content: assetContents,
|
||||
Filename: assetFilename,
|
||||
ContentType: contentType,
|
||||
}))
|
||||
fmt.Printf("Uploaded and accessible at %s\n", hmnurl.BuildS3Asset(asset.S3Key))
|
||||
},
|
||||
}
|
||||
adminCommand.AddCommand(uploadAsset)
|
||||
|
||||
addProjectCommands(adminCommand)
|
||||
}
|
||||
|
|
|
@ -27,12 +27,19 @@
|
|||
{{ range .Details }}
|
||||
<div><strong>{{ .Name }}:</strong> {{ .Content }}</div>
|
||||
{{ end }}
|
||||
|
||||
{{ if .Horizontal }}
|
||||
<div class="bt mv2 b--dimmer dn db-ns"></div>
|
||||
<div class="post-content mt2 mt0-ns">
|
||||
{{ .Description }}
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
{{ if not .Horizontal }}
|
||||
<div class="post-content">
|
||||
{{ .Description }}
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ with .AllSubmissionsUrl }}
|
||||
<div class="flex justify-end g3">
|
||||
<a href="{{ . }}"><div class="win95-btn">See <u>M</u>ore</div></a>
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
This is a copy-paste from base.html because we want to preserve the unique
|
||||
style of landing pages if we change base.html in the future.
|
||||
*/}}
|
||||
<!DOCTYPE html{{ if .OpenGraphItems }} prefix="og: http://ogp.me/ns#"{{ end }}>
|
||||
<html lang="en-US">
|
||||
<!DOCTYPE html>
|
||||
<html lang="en-US" {{ if .OpenGraphItems }}prefix="og: http://ogp.me/ns#"{{ end }}>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
@ -34,6 +34,12 @@
|
|||
<link rel="stylesheet" type="text/css" href="{{ static "style.css" }}">
|
||||
|
||||
<style>
|
||||
:root {
|
||||
--dim-color: #bbb;
|
||||
--dimmer-color: #999;
|
||||
--dimmest-color: #777;
|
||||
}
|
||||
|
||||
body {
|
||||
/*
|
||||
This is too light for accessiblity imo. I'll darken them a bit and see how Ben feels
|
||||
|
|
|
@ -182,6 +182,7 @@ type TimeMachineSubmission struct {
|
|||
Permalink string // generated for feed
|
||||
Details []TimeMachineSubmissionDetail
|
||||
Description template.HTML
|
||||
Horizontal bool
|
||||
|
||||
AllSubmissionsUrl string
|
||||
}
|
||||
|
@ -196,7 +197,47 @@ type TimeMachineSubmissionDetail struct {
|
|||
Content template.HTML
|
||||
}
|
||||
|
||||
// You can re-encode videos for the website using some flavor of the following:
|
||||
//
|
||||
// ffmpeg -i input.mp4 -c:v libx264 -profile:v high -preset:v slow -crf:v 24 -c:a aac -b:a 128k -movflags +faststart output.mp4
|
||||
//
|
||||
// For 1080p video, you can try 26 or 28 for the video quality and see if it
|
||||
// looks ok.
|
||||
//
|
||||
// Video can be scaled down using `-vf scale=-1:720`, where 720 is the desired
|
||||
// height of the resulting video. You should probably stick with quality 24 if
|
||||
// you do this.
|
||||
|
||||
var tmSubmissions = []TimeMachineSubmission{
|
||||
{
|
||||
Date: time.Date(2023, 7, 4, 0, 0, 0, 0, time.UTC),
|
||||
Title: "2011 Philips Media Player",
|
||||
Url: "https://hmn-assets-2.ams3.cdn.digitaloceanspaces.com/a835cf47-9649-4738-bd58-252a6199863b/agus5.mp4",
|
||||
Thumbnail: TimeMachineThumbnail{
|
||||
Filepath: "timemachine/thumbnails/2023-07-04-thumb.png",
|
||||
Width: 226,
|
||||
Height: 398,
|
||||
},
|
||||
Details: []TimeMachineSubmissionDetail{
|
||||
{"Device", "Philips SA3047/55"},
|
||||
{"Submitted by", `<a href="https://handmade.network/m/AgusDev" target="_blank">Agustin</a>`},
|
||||
{"Release year", "2011"},
|
||||
{"Processor", "Unknown"},
|
||||
{"Memory", "Unknown"},
|
||||
},
|
||||
Description: `
|
||||
<p>
|
||||
My mother used to use this a lot when going to study, to record the classes or just listen to music.
|
||||
</p>
|
||||
<p>
|
||||
I remember also using this a bit as a child, when having something for listening to music while doing other stuff was new to me.
|
||||
</p>
|
||||
<p>
|
||||
<b>Editor's note:</b> I couldn't find any info about the processor for this or the device's RAM. If anyone happens to know this info, <a href="mailto:ben@handmade.network">let me know</a>.
|
||||
</p>
|
||||
`,
|
||||
Horizontal: true,
|
||||
},
|
||||
{
|
||||
Date: time.Date(2023, 6, 16, 0, 0, 0, 0, time.UTC),
|
||||
Title: "1992 Intel Professional Workstation",
|
||||
|
@ -210,7 +251,7 @@ var tmSubmissions = []TimeMachineSubmission{
|
|||
{"Device", "Intel Professional Workstation"},
|
||||
{"Submitted by", `<a href="https://www.youtube.com/@NCommander" target="_blank">NCommander</a>`},
|
||||
{"Release year", "~1992"},
|
||||
{"Procesor", "33Mhz 486DX"},
|
||||
{"Processor", "33Mhz 486DX"},
|
||||
{"Memory", "Originally 8MiB"},
|
||||
{"Architecture", "EISA"},
|
||||
{"Operating system", "Shipped with Windows 3.x, OS/2, NetWare, or SCO UNIX"},
|
||||
|
|
Loading…
Reference in New Issue