From a3f8e661ad54cfec14ca671ea671e728ffc9bb91 Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Sun, 7 Mar 2021 16:23:59 -0800 Subject: initial site with hugo Start my website from scratch once more, using hugo to generate it. For now the layout is pretty simple: - an index page that will list future notes - notes should be created under the "content" directory The theme is custom and I'll try to keep this simple. --- users/fcuny/notes/layouts/index.html | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 users/fcuny/notes/layouts/index.html (limited to 'users/fcuny/notes/layouts/index.html') diff --git a/users/fcuny/notes/layouts/index.html b/users/fcuny/notes/layouts/index.html new file mode 100644 index 0000000..5f49f24 --- /dev/null +++ b/users/fcuny/notes/layouts/index.html @@ -0,0 +1,22 @@ +{{ define "main" }} + +
+

Franck Cuny

+ + + +

I'm currently working as a Site Reliability Engineer at Twitter, on the Compute team.

+ +

Notes

+ {{ $section := "notes" }} + + +{{ end }} -- cgit 1.4.1 From 25eb1dca2cf86e5cbf45c66ce497c790577ef3ed Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Tue, 6 Apr 2021 12:28:53 -0700 Subject: layout: fix format for the date --- users/fcuny/notes/layouts/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'users/fcuny/notes/layouts/index.html') diff --git a/users/fcuny/notes/layouts/index.html b/users/fcuny/notes/layouts/index.html index 5f49f24..450444b 100644 --- a/users/fcuny/notes/layouts/index.html +++ b/users/fcuny/notes/layouts/index.html @@ -15,7 +15,7 @@ {{ $section := "notes" }} -- cgit 1.4.1 From 86c8d29cec41f663d1a4abd155e8b7a13ad0c533 Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Thu, 22 Apr 2021 12:44:27 -0700 Subject: layout: add a navbar I want to differentiate blog's entries from more general notes. For this, we create two menu entries, and add a navbar at the top. The nav bar let us select between the two kind of articles: blogs or notes. For now we have a single blog entry, and no notes. The page to list entries is simplified: we use the same layout for all lists (tags, notes, blogs). The CSS is updated to support the new nav bar. --- users/fcuny/notes/config.toml | 18 ++++++- .../notes/content/blog/google-doc-failure.org | 56 ++++++++++++++++++++++ .../notes/content/notes/google-doc-failure.org | 56 ---------------------- users/fcuny/notes/layouts/_default/baseof.html | 1 + users/fcuny/notes/layouts/_default/list.html | 8 +--- users/fcuny/notes/layouts/_default/single.html | 2 - users/fcuny/notes/layouts/index.html | 8 ---- users/fcuny/notes/layouts/partials/header.html | 15 ++++++ users/fcuny/notes/layouts/partials/postlist.html | 20 +------- users/fcuny/notes/static/css/custom.css | 41 +++++++++++++++- 10 files changed, 131 insertions(+), 94 deletions(-) create mode 100644 users/fcuny/notes/content/blog/google-doc-failure.org delete mode 100644 users/fcuny/notes/content/notes/google-doc-failure.org create mode 100644 users/fcuny/notes/layouts/partials/header.html (limited to 'users/fcuny/notes/layouts/index.html') diff --git a/users/fcuny/notes/config.toml b/users/fcuny/notes/config.toml index 31f75af..6100ba5 100644 --- a/users/fcuny/notes/config.toml +++ b/users/fcuny/notes/config.toml @@ -1,6 +1,6 @@ baseURL = "http://fcuny.net/" languageCode = "en-us" -title = "Franck Cuny's Website" +title = "Franck's rambling" publishDir = "docs" enableGitInfo = true @@ -11,9 +11,23 @@ enableGitInfo = true tag = "tags" [permalinks] - articles = "/:section/:slug/" + blog = "/blog/:slug/" + notes = "/notes/:slug/" tags = "/tags/:slug/" +[menu] + [[menu.main]] + identifier = "articles" + name = "blog" + title = "articles" + url = "/blog/" + + [[menu.main]] + identifier = "notes" + name = "notes" + title = "notes" + url = "/notes/" + [markup] [markup.tableOfContents] startLevel = 1 diff --git a/users/fcuny/notes/content/blog/google-doc-failure.org b/users/fcuny/notes/content/blog/google-doc-failure.org new file mode 100644 index 0000000..b4d449d --- /dev/null +++ b/users/fcuny/notes/content/blog/google-doc-failure.org @@ -0,0 +1,56 @@ +#+TITLE: Google Doc Failures +#+TAGS[]: documentation process +#+DATE: <2021-04-11 Sun> + +In most use cases, Google Doc is an effective tool to create "write once, read never" documents. + +* Convenience +Google Doc (GDoc from now on) is the most common way of writing and sharing documents at my current job. It's very easy to start a new document, even more since we can now point our browser to https://doc.new and start typing right away. + +Like most of my co-workers, I use it frequently during the day. Some of these documents are draft for some communication that I want others to review before I share with a broader audience; it can be a [[https://en.wikipedia.org/wiki/Request_for_Comments][Request For Comments]] for a project; meeting notes for others to read; information that I need to capture during an incident or a debugging session; interviews notes; etc. + +I would not be surprised if the teams I work closely with generate 50 new documents each week. +* ETOOMANYTABS +I have a tendency of having hundreds of open tabs in my browser during the week. A majority of these tabs are GDocs, and I think this is one of the true failure of the product. Why do I have so many tabs ? There's mainly two reasons. + +The first reason is a problem with Chrome's UX itself: it happily let me open the same URL as many times as I want in as many tabs, instead of sending me to the already opened tab if the document is loaded. It's not uncommon that I find the same document opened in 5 different tabs. + +The second reason, and it's the most important one, I know that if I need to read or comment on a doc and I close the tab, I'll likely never find that document again, or will completely forget about it. +* Discoverability +In 'the old days', you'd start a new document in Word or LibreOffice, and as you hit "save" for the first time, you've two decisions to make: how am I going to name that file, and where am I going to save it on disk. + +With GDoc these questions don't have to be answered, you don't have to name the file, and it does not matter where it lives. I've likely hundreds of docs named 'untitled' in my "drive". I also don't have to think about where they will live, because they are saved automatically for me. I'm sure there's hundreds of studies that show that these two simple steps are actually complex for many users and creates useless friction (in which folder do I store it; should I organize the docuemnts by team, years, projects; do I name it with the date and the current project; etc.). + +GDoc being a Google product, it seems pretty obvious that they would come up with a better solution: let's not organize in a strict hierarchy these files, and let's instead search for them. + +Unfortunately, GDoc's search is really poor (and I'm being kind). By default most of us start by looking for some words we know are in the doc, maybe even in the title. But when working on a multiple projects that are related to the same technology, you suddenly get hundreds of documents matching your query. It's unclear how the returned set is ordered (by date ? by author ? by some scoring that is invisible to me ?). + +You can also search by owners, but here is another annoying bit: I think about owner as author, so I usually type =author:foo= before realizing it does not work. And that implies you already know who's the owner of the document. In the case of TDDs (Technical Design Document), I might know which team is behind it, but rarely who's the actual author. + +I could search for the title, but I rarely remember or know the name of the document I'm looking for. I could also be looking by keywords, but when working on a project with tens of related documents, you have to open all the returned docs to see which one is the correct one. + +And then what about new members joining your the team ? They don't know which docs exist, who wrote them, and how they are named. They end up searching and hoping that something good will be returned. +* Workflows +More and more we create workflows around these documents: some of the docs are TDDs that are going through reviews; others are decision documents that require input from multiple teams and are pending approval; others are road map documents that also go through some review process. + +As a result we create templates for all kind of documents, with usually something like "draft → reviews → approved/rejected" at the top. We expect the owner of the doc to mark in bold what's the status of the doc to help the reader understand in what state the document is. It's difficult to keep track of open actions and comments. Yes, there's a way to get a list of all of them, but it's not in an obvious place. + +As a result, some engineers in my team built an external dashboard with swim lanes which captures the state of a document. We add new document with their URLs, add who are the reviewers, and we move the doc between the lanes. Now we have to operate a service and a database to keep track of the status of documents in GDoc. +* Alternatives +When it comes to technical document, I find that [[https://caitiem.com/2020/03/29/design-docs-markdown-and-git/][approach]] much more interesting. Some open source projects have adopted a similar workflow ([[https://github.com/kubernetes/enhancements/tree/master/keps][Kubernetes]], [[https://github.com/golang/proposal][Go]]). + +A new document starts its life as a text file (using what ever markup language your team/company prefers). The document is submitted for review, and the people who need to be consulted are added as reviewers. They can now comment on the document, the author can address them, mark them as resolved. It's clear in which state the document is: it's either in review, committed, or rejected. With this approach you also end up with a clear history, as time moves on you can amend the document by submitting a change, and the change goes through the same process. + +New comers will find the document in the repository, and if they want to see the conversation they can open the review associated with the original change. They can also see how the document evolved over time. It's also easy to publish these documents on an internal website, using a static site generator for example. + +One of the thing that I think are critical, is that all of that is done using the tools the engineers are already using for their day to day job: a text editor, a version control system, a code review tool. + +There's obviously challenges with this approach too: ++ *it's more heavy handed*: not every one likes to write in a text editor using a markup language. It can requires some time to learn or get used to the syntax ++ *it's harder to integrate schema / visuals*: but having them checked in in the repository also improves the discoverability + +It's also true that no all documents suffer the same challenges for discoverability: ++ meeting notes are usually linked to meeting invites (however if you were not part of the meeting, you end up with the same challenges to discover them) ++ drafts for communications are usually not relevant once the communication has been sent ++ interview notes are usually transferred to some tools for HR when the feedback is submitted + diff --git a/users/fcuny/notes/content/notes/google-doc-failure.org b/users/fcuny/notes/content/notes/google-doc-failure.org deleted file mode 100644 index b4d449d..0000000 --- a/users/fcuny/notes/content/notes/google-doc-failure.org +++ /dev/null @@ -1,56 +0,0 @@ -#+TITLE: Google Doc Failures -#+TAGS[]: documentation process -#+DATE: <2021-04-11 Sun> - -In most use cases, Google Doc is an effective tool to create "write once, read never" documents. - -* Convenience -Google Doc (GDoc from now on) is the most common way of writing and sharing documents at my current job. It's very easy to start a new document, even more since we can now point our browser to https://doc.new and start typing right away. - -Like most of my co-workers, I use it frequently during the day. Some of these documents are draft for some communication that I want others to review before I share with a broader audience; it can be a [[https://en.wikipedia.org/wiki/Request_for_Comments][Request For Comments]] for a project; meeting notes for others to read; information that I need to capture during an incident or a debugging session; interviews notes; etc. - -I would not be surprised if the teams I work closely with generate 50 new documents each week. -* ETOOMANYTABS -I have a tendency of having hundreds of open tabs in my browser during the week. A majority of these tabs are GDocs, and I think this is one of the true failure of the product. Why do I have so many tabs ? There's mainly two reasons. - -The first reason is a problem with Chrome's UX itself: it happily let me open the same URL as many times as I want in as many tabs, instead of sending me to the already opened tab if the document is loaded. It's not uncommon that I find the same document opened in 5 different tabs. - -The second reason, and it's the most important one, I know that if I need to read or comment on a doc and I close the tab, I'll likely never find that document again, or will completely forget about it. -* Discoverability -In 'the old days', you'd start a new document in Word or LibreOffice, and as you hit "save" for the first time, you've two decisions to make: how am I going to name that file, and where am I going to save it on disk. - -With GDoc these questions don't have to be answered, you don't have to name the file, and it does not matter where it lives. I've likely hundreds of docs named 'untitled' in my "drive". I also don't have to think about where they will live, because they are saved automatically for me. I'm sure there's hundreds of studies that show that these two simple steps are actually complex for many users and creates useless friction (in which folder do I store it; should I organize the docuemnts by team, years, projects; do I name it with the date and the current project; etc.). - -GDoc being a Google product, it seems pretty obvious that they would come up with a better solution: let's not organize in a strict hierarchy these files, and let's instead search for them. - -Unfortunately, GDoc's search is really poor (and I'm being kind). By default most of us start by looking for some words we know are in the doc, maybe even in the title. But when working on a multiple projects that are related to the same technology, you suddenly get hundreds of documents matching your query. It's unclear how the returned set is ordered (by date ? by author ? by some scoring that is invisible to me ?). - -You can also search by owners, but here is another annoying bit: I think about owner as author, so I usually type =author:foo= before realizing it does not work. And that implies you already know who's the owner of the document. In the case of TDDs (Technical Design Document), I might know which team is behind it, but rarely who's the actual author. - -I could search for the title, but I rarely remember or know the name of the document I'm looking for. I could also be looking by keywords, but when working on a project with tens of related documents, you have to open all the returned docs to see which one is the correct one. - -And then what about new members joining your the team ? They don't know which docs exist, who wrote them, and how they are named. They end up searching and hoping that something good will be returned. -* Workflows -More and more we create workflows around these documents: some of the docs are TDDs that are going through reviews; others are decision documents that require input from multiple teams and are pending approval; others are road map documents that also go through some review process. - -As a result we create templates for all kind of documents, with usually something like "draft → reviews → approved/rejected" at the top. We expect the owner of the doc to mark in bold what's the status of the doc to help the reader understand in what state the document is. It's difficult to keep track of open actions and comments. Yes, there's a way to get a list of all of them, but it's not in an obvious place. - -As a result, some engineers in my team built an external dashboard with swim lanes which captures the state of a document. We add new document with their URLs, add who are the reviewers, and we move the doc between the lanes. Now we have to operate a service and a database to keep track of the status of documents in GDoc. -* Alternatives -When it comes to technical document, I find that [[https://caitiem.com/2020/03/29/design-docs-markdown-and-git/][approach]] much more interesting. Some open source projects have adopted a similar workflow ([[https://github.com/kubernetes/enhancements/tree/master/keps][Kubernetes]], [[https://github.com/golang/proposal][Go]]). - -A new document starts its life as a text file (using what ever markup language your team/company prefers). The document is submitted for review, and the people who need to be consulted are added as reviewers. They can now comment on the document, the author can address them, mark them as resolved. It's clear in which state the document is: it's either in review, committed, or rejected. With this approach you also end up with a clear history, as time moves on you can amend the document by submitting a change, and the change goes through the same process. - -New comers will find the document in the repository, and if they want to see the conversation they can open the review associated with the original change. They can also see how the document evolved over time. It's also easy to publish these documents on an internal website, using a static site generator for example. - -One of the thing that I think are critical, is that all of that is done using the tools the engineers are already using for their day to day job: a text editor, a version control system, a code review tool. - -There's obviously challenges with this approach too: -+ *it's more heavy handed*: not every one likes to write in a text editor using a markup language. It can requires some time to learn or get used to the syntax -+ *it's harder to integrate schema / visuals*: but having them checked in in the repository also improves the discoverability - -It's also true that no all documents suffer the same challenges for discoverability: -+ meeting notes are usually linked to meeting invites (however if you were not part of the meeting, you end up with the same challenges to discover them) -+ drafts for communications are usually not relevant once the communication has been sent -+ interview notes are usually transferred to some tools for HR when the feedback is submitted - diff --git a/users/fcuny/notes/layouts/_default/baseof.html b/users/fcuny/notes/layouts/_default/baseof.html index d9ca51a..3fd7011 100644 --- a/users/fcuny/notes/layouts/_default/baseof.html +++ b/users/fcuny/notes/layouts/_default/baseof.html @@ -3,6 +3,7 @@ {{ partial "head.html" . }}
+ {{- partial "header.html" . -}}
{{ block "main" . }}{{ end }}
diff --git a/users/fcuny/notes/layouts/_default/list.html b/users/fcuny/notes/layouts/_default/list.html index 3423cb6..2b7d98a 100644 --- a/users/fcuny/notes/layouts/_default/list.html +++ b/users/fcuny/notes/layouts/_default/list.html @@ -1,10 +1,6 @@ {{ define "main" }} -

{{ .Title }}

-{{ range .Pages.ByPublishDate.Reverse }} -

- {{ .Title }} -

-{{ end }} + {{ $pgs := where .Data.Pages "Params.hidden" "ne" "true" }} + {{ partial "postlist" $pgs }} {{ end }} diff --git a/users/fcuny/notes/layouts/_default/single.html b/users/fcuny/notes/layouts/_default/single.html index 0ab5e35..356f344 100644 --- a/users/fcuny/notes/layouts/_default/single.html +++ b/users/fcuny/notes/layouts/_default/single.html @@ -1,7 +1,5 @@ {{ define "main" }} -

← Back to Franck's homepage

-

{{ .Title }}

diff --git a/users/fcuny/notes/layouts/index.html b/users/fcuny/notes/layouts/index.html index 450444b..f7581ff 100644 --- a/users/fcuny/notes/layouts/index.html +++ b/users/fcuny/notes/layouts/index.html @@ -11,12 +11,4 @@

I'm currently working as a Site Reliability Engineer at Twitter, on the Compute team.

-

Notes

- {{ $section := "notes" }} - - {{ end }} diff --git a/users/fcuny/notes/layouts/partials/header.html b/users/fcuny/notes/layouts/partials/header.html new file mode 100644 index 0000000..f918823 --- /dev/null +++ b/users/fcuny/notes/layouts/partials/header.html @@ -0,0 +1,15 @@ +
+ +
diff --git a/users/fcuny/notes/layouts/partials/postlist.html b/users/fcuny/notes/layouts/partials/postlist.html index 3695d82..28fd9b2 100644 --- a/users/fcuny/notes/layouts/partials/postlist.html +++ b/users/fcuny/notes/layouts/partials/postlist.html @@ -1,28 +1,10 @@ -

← Back to Franck's homepage

- -{{ range .GroupByDate "2006-Jan" }} +{{ range .GroupByDate "2006" }}

{{ .Key }}

    {{ range .Pages.ByDate }}
  • {{ .Title }}

    - {{ if .Params.tags }} -
    - Tags: - {{ range $idx, $tag := .Params.tags }} - {{ $tag }} - {{ end }} -
    - {{ else }} -
    - {{ end }} -
    -
    -

    - {{ .Summary }} - Read more → -

  • {{ end }} diff --git a/users/fcuny/notes/static/css/custom.css b/users/fcuny/notes/static/css/custom.css index 7592e8e..f363bee 100644 --- a/users/fcuny/notes/static/css/custom.css +++ b/users/fcuny/notes/static/css/custom.css @@ -38,7 +38,7 @@ h2 { } span.published, span.updated { - display: block; + display: center; font-style: oblique; } @@ -92,3 +92,42 @@ blockquote { padding-left: 5px; font-style: italic; } + +nav { + display: flex; + flex: 2 0px; + justify-content: flex-end; + padding-left: 1em; + margin: 0 auto; + line-height: 0.2rem; +} + +nav ul { + display: flex; + list-style-type: none; + margin: 0 +} + +nav a { + padding: 1em; + display: inline-block; + color: black; + font-family: sans-serif; + text-decoration: none; + transition: all 75ms ease-in; +} + +nav a:hover { + color: #fff; + background-color: #007d9c; +} + +nav a.menu-active:hover { + color: #fff; + background-color: #007d9c; +} + +nav a.menu-active { + color: #007d9c; +} + -- cgit 1.4.1 From d2c6009601af43f8502fc10902540e1e9b3ba428 Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Thu, 5 Aug 2021 11:55:40 -0700 Subject: blog: add SSH public keys --- users/fcuny/notes/layouts/index.html | 1 + users/fcuny/notes/static/ssh.pub.sig | 1 + 2 files changed, 2 insertions(+) create mode 100644 users/fcuny/notes/static/ssh.pub.sig (limited to 'users/fcuny/notes/layouts/index.html') diff --git a/users/fcuny/notes/layouts/index.html b/users/fcuny/notes/layouts/index.html index f7581ff..100a77f 100644 --- a/users/fcuny/notes/layouts/index.html +++ b/users/fcuny/notes/layouts/index.html @@ -7,6 +7,7 @@
  • Email: franck@fcuny.net
  • GitHub: @fcuny
  • Twitter: @franckcuny
  • +
  • Keys: SSH public keys

I'm currently working as a Site Reliability Engineer at Twitter, on the Compute team.

diff --git a/users/fcuny/notes/static/ssh.pub.sig b/users/fcuny/notes/static/ssh.pub.sig new file mode 100644 index 0000000..808d3ad --- /dev/null +++ b/users/fcuny/notes/static/ssh.pub.sig @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC1rWKrdSHxlAZnRv1F5jUsHgXSNmr1KzllWEn+JqA7p3zxmSEPBbfIUGxSzkFIQrSbKizJLdH6hGA8DcIm+e+ldQ2RYOdiYBxIkPm+aHB6dw7QGNbnSSdkr9gKThy65j0YOOcmuDExjqxfq6O/8AVstmPH36sUXEIks5F/+WiF+5ehzoJVFqClB1di6w1lml86d0ShrUacgM/ieFPe1vKrzW8ZOM+LaUoGWBTLla1y6UkIqnb7OinmgPu6QAzF6GA7tYJMoHkyV7Axzc2j1/VxVIrUrfY4b0k8lGAzi2GfByq+fXEHzePbaqi8Cy8Trn9eN/ls1WBMUQfSChQi3tM2Vx2BuiOpx/QkXsdgqwe7bTCijcQS7GoREL1qd8tR9sWWd4WMPUiC9kmzvyja5F39xHPgm0A5MtYY7GvQaUPbtBc6g8YuFLLnkqFVEKHSLFiGYP5jIDNvMd5rSSsBUrepCIzWdpprwnKxAjebw5Cyl5p/0MY2zppQRW7AZXehQa7Bv+OClbutEjBa+ioeUxBhezu2rB61XSenTbbUVB5DncD8ceD5AbL9aFz/Bcw6q0kAOGmR1G1MOLgxVHlqcnI5x0E1K2WMKWgQb+1BMek1p5+l3xWNDF4URhLqLupnP5CMrK9ifBOe/76zqyMVrA/mc6tNC58KHhME1IynC1zaLw== franck@fcuny.net -- cgit 1.4.1 From defacba9d2a79616a9173f0abb88f4f2d5626e0b Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Thu, 5 Aug 2021 12:00:07 -0700 Subject: blog: update description --- users/fcuny/notes/layouts/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'users/fcuny/notes/layouts/index.html') diff --git a/users/fcuny/notes/layouts/index.html b/users/fcuny/notes/layouts/index.html index 100a77f..1b63249 100644 --- a/users/fcuny/notes/layouts/index.html +++ b/users/fcuny/notes/layouts/index.html @@ -10,6 +10,6 @@
  • Keys: SSH public keys
  • -

    I'm currently working as a Site Reliability Engineer at Twitter, on the Compute team.

    +

    I'm currently working as an Engineer at Twitter, on the Compute team.

    {{ end }} -- cgit 1.4.1 From 8d75c9be38a2318d77cca0b066360fbb317abfae Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Sat, 14 Aug 2021 13:17:23 -0700 Subject: blog: replace github with git.fcuny.net --- users/fcuny/notes/layouts/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'users/fcuny/notes/layouts/index.html') diff --git a/users/fcuny/notes/layouts/index.html b/users/fcuny/notes/layouts/index.html index 1b63249..b2f232d 100644 --- a/users/fcuny/notes/layouts/index.html +++ b/users/fcuny/notes/layouts/index.html @@ -5,7 +5,7 @@ -- cgit 1.4.1 From b61ae35e777222379ba4870d2019cf00186e3b07 Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Mon, 23 Aug 2021 09:33:39 -0700 Subject: index: drop the main header It's ugly. --- users/fcuny/notes/layouts/index.html | 2 -- 1 file changed, 2 deletions(-) (limited to 'users/fcuny/notes/layouts/index.html') diff --git a/users/fcuny/notes/layouts/index.html b/users/fcuny/notes/layouts/index.html index b2f232d..f34b21f 100644 --- a/users/fcuny/notes/layouts/index.html +++ b/users/fcuny/notes/layouts/index.html @@ -1,8 +1,6 @@ {{ define "main" }}
    -

    Franck Cuny

    -
    • Email: franck@fcuny.net
    • Git: @fcuny
    • -- cgit 1.4.1 From 57f443be096465eb3db6aff56ec32b88530cf6dd Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Mon, 20 Dec 2021 14:31:06 -0800 Subject: index: re-organize the main page Add a "contact" header with my information under it. --- users/fcuny/notes/layouts/index.html | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'users/fcuny/notes/layouts/index.html') diff --git a/users/fcuny/notes/layouts/index.html b/users/fcuny/notes/layouts/index.html index f34b21f..9e15e77 100644 --- a/users/fcuny/notes/layouts/index.html +++ b/users/fcuny/notes/layouts/index.html @@ -1,13 +1,15 @@ {{ define "main" }} -
      - - -

      I'm currently working as an Engineer at Twitter, on the Compute team.

      +

      {{ .Site.Home.Title }}

      + +

      I'm currently working as an Engineer at Twitter, on the Compute team.

      + +

      Contact

      + {{ end }} -- cgit 1.4.1 From a04ea1b2f562c05fa71ccfe2904d36dd1a5dad92 Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Sat, 8 Jan 2022 10:07:43 -0800 Subject: index: update current job --- users/fcuny/notes/layouts/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'users/fcuny/notes/layouts/index.html') diff --git a/users/fcuny/notes/layouts/index.html b/users/fcuny/notes/layouts/index.html index 9e15e77..586aaa5 100644 --- a/users/fcuny/notes/layouts/index.html +++ b/users/fcuny/notes/layouts/index.html @@ -2,7 +2,7 @@

      {{ .Site.Home.Title }}

      -

      I'm currently working as an Engineer at Twitter, on the Compute team.

      +

      I'm an engineer currently working as a break. Previously I was a Site Reliability Engineer at Twitter, on the Compute team.

      Contact

        -- cgit 1.4.1 From 1ad09c465aca33641858bdd9aa06ecd76c3700e6 Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Mon, 10 Jan 2022 11:46:19 -0800 Subject: index: rephrase --- users/fcuny/notes/layouts/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'users/fcuny/notes/layouts/index.html') diff --git a/users/fcuny/notes/layouts/index.html b/users/fcuny/notes/layouts/index.html index 586aaa5..21a86b8 100644 --- a/users/fcuny/notes/layouts/index.html +++ b/users/fcuny/notes/layouts/index.html @@ -2,7 +2,7 @@

        {{ .Site.Home.Title }}

        -

        I'm an engineer currently working as a break. Previously I was a Site Reliability Engineer at Twitter, on the Compute team.

        +

        I'm an engineer currently on a break. Previously I was a Site Reliability Engineer working on Twitter's compute platform.

        Contact

          -- cgit 1.4.1 From b7ebd81194a90da19771ea0ffd794163f8fe3d8c Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Sun, 23 Jan 2022 18:14:12 -0800 Subject: layout: wrap content in an "article" tag --- users/fcuny/notes/layouts/_default/list.html | 4 ++++ users/fcuny/notes/layouts/index.html | 4 ++++ 2 files changed, 8 insertions(+) (limited to 'users/fcuny/notes/layouts/index.html') diff --git a/users/fcuny/notes/layouts/_default/list.html b/users/fcuny/notes/layouts/_default/list.html index 2b7d98a..6d1c04f 100644 --- a/users/fcuny/notes/layouts/_default/list.html +++ b/users/fcuny/notes/layouts/_default/list.html @@ -1,6 +1,10 @@ {{ define "main" }} +
          + {{ $pgs := where .Data.Pages "Params.hidden" "ne" "true" }} {{ partial "postlist" $pgs }} +
          + {{ end }} diff --git a/users/fcuny/notes/layouts/index.html b/users/fcuny/notes/layouts/index.html index 21a86b8..523ad08 100644 --- a/users/fcuny/notes/layouts/index.html +++ b/users/fcuny/notes/layouts/index.html @@ -1,5 +1,7 @@ {{ define "main" }} +
          +

          {{ .Site.Home.Title }}

          I'm an engineer currently on a break. Previously I was a Site Reliability Engineer working on Twitter's compute platform.

          @@ -12,4 +14,6 @@
        • Keys: SSH public keys
        + + {{ end }} -- cgit 1.4.1 From 5abd6605d975c90a5a9620267bd6ba2371317b9c Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Sun, 23 Jan 2022 18:49:53 -0800 Subject: layout: no need for a class to element 'article' --- users/fcuny/notes/layouts/_default/list.html | 2 +- users/fcuny/notes/layouts/_default/single.html | 2 +- users/fcuny/notes/layouts/index.html | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'users/fcuny/notes/layouts/index.html') diff --git a/users/fcuny/notes/layouts/_default/list.html b/users/fcuny/notes/layouts/_default/list.html index 6d1c04f..d2c59a7 100644 --- a/users/fcuny/notes/layouts/_default/list.html +++ b/users/fcuny/notes/layouts/_default/list.html @@ -1,6 +1,6 @@ {{ define "main" }} -
        +
        {{ $pgs := where .Data.Pages "Params.hidden" "ne" "true" }} {{ partial "postlist" $pgs }} diff --git a/users/fcuny/notes/layouts/_default/single.html b/users/fcuny/notes/layouts/_default/single.html index 524145a..fe2477e 100644 --- a/users/fcuny/notes/layouts/_default/single.html +++ b/users/fcuny/notes/layouts/_default/single.html @@ -38,7 +38,7 @@
      {{ end }} -
      +
      {{ .Content }}
      diff --git a/users/fcuny/notes/layouts/index.html b/users/fcuny/notes/layouts/index.html index 523ad08..2ab8c40 100644 --- a/users/fcuny/notes/layouts/index.html +++ b/users/fcuny/notes/layouts/index.html @@ -1,6 +1,6 @@ {{ define "main" }} -
      +

      {{ .Site.Home.Title }}

      -- cgit 1.4.1 From 5483be5a93faac53c2319696e1d024fd049b8a09 Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Mon, 28 Mar 2022 19:50:38 -0700 Subject: convert blog to notes Separating the two sites so I can customize them differently. --- users/fcuny/notes/Makefile | 4 +- users/fcuny/notes/config.toml | 22 +---- users/fcuny/notes/fly.toml | 7 +- users/fcuny/notes/layouts/_default/baseof.html | 1 + users/fcuny/notes/layouts/_default/single.html | 14 --- users/fcuny/notes/layouts/index.atom.xml | 2 +- users/fcuny/notes/layouts/index.html | 17 ++-- users/fcuny/notes/layouts/partials/footer.html | 32 +++++++ users/fcuny/notes/layouts/partials/header.html | 12 ++- users/fcuny/notes/static/CNAME | 2 +- users/fcuny/notes/static/css/custom.css | 120 ++++++++++++------------- 11 files changed, 117 insertions(+), 116 deletions(-) create mode 100644 users/fcuny/notes/layouts/partials/footer.html (limited to 'users/fcuny/notes/layouts/index.html') diff --git a/users/fcuny/notes/Makefile b/users/fcuny/notes/Makefile index 5414dde..4644ac3 100644 --- a/users/fcuny/notes/Makefile +++ b/users/fcuny/notes/Makefile @@ -1,6 +1,6 @@ DOCKER := DOCKER_BUILDKIT=1 docker DOCKER_BUILD_ARGS := -DOCKER_IMAGE := fcuny/fcuny.net +DOCKER_IMAGE := fcuny/notes.fcuny.net DOCKER_IMAGE_REF := $(shell git rev-parse HEAD) DOCKERFILE := Dockerfile PROJECT_DIR := $(realpath $(CURDIR)) @@ -18,7 +18,7 @@ worktree-clean: deploy: worktree-clean docker-build @echo "Deploying to fly ..." flyctl deploy - @git tag -a --message $$(flyctl info -j |jq -r '.App | "fcuny.net/v\(.Version)"') $$(flyctl info -j |jq -r '.App | "fcuny.net/v\(.Version)"') + @git tag -a --message $$(flyctl info -j |jq -r '.App | "notes.fcuny.net/v\(.Version)"') $$(flyctl info -j |jq -r '.App | "notes.fcuny.net/v\(.Version)"') @git push origin --all @git push origin --tags diff --git a/users/fcuny/notes/config.toml b/users/fcuny/notes/config.toml index 1fe49bc..6ee3e63 100644 --- a/users/fcuny/notes/config.toml +++ b/users/fcuny/notes/config.toml @@ -1,11 +1,12 @@ -baseURL = "https://fcuny.net/" +baseURL = "https://notes.fcuny.net/" languageCode = "en-us" -title = "Franck's rambling" +title = "Franck's notes" publishDir = "docs" enableGitInfo = true [params] homeText = "A collection of notes" + mainSections = ['notes'] [author] name = "Franck Cuny" @@ -15,29 +16,14 @@ enableGitInfo = true tag = "tags" [permalinks] - blog = "/blog/:slug/" notes = "/notes/:slug/" tags = "/tags/:slug/" [menu] - [[menu.main]] - identifier = "articles" - name = "blog" - title = "articles" - url = "/blog/" - weight = 110 - - [[menu.main]] - identifier = "notes" - name = "notes" - title = "notes" - url = "/notes/" - weight = 120 - [[menu.main]] identifier = "RSS" name = "RSS" - title = "RSS" + title = "~/notes/feed" url = "/feed.xml" weight = 130 diff --git a/users/fcuny/notes/fly.toml b/users/fcuny/notes/fly.toml index 46468c1..4db1311 100644 --- a/users/fcuny/notes/fly.toml +++ b/users/fcuny/notes/fly.toml @@ -1,13 +1,10 @@ -# fly.toml file generated for fcunynet on 2021-06-20T10:01:50-07:00 +# fly.toml file generated for notes-fcunynet on 2022-03-28T19:44:54-07:00 -app = "fcunynet" +app = "notes-fcunynet" kill_signal = "SIGINT" kill_timeout = 5 -[build] - builtin = "hugo-static" - [env] [experimental] diff --git a/users/fcuny/notes/layouts/_default/baseof.html b/users/fcuny/notes/layouts/_default/baseof.html index 0c72fb1..410e2bc 100644 --- a/users/fcuny/notes/layouts/_default/baseof.html +++ b/users/fcuny/notes/layouts/_default/baseof.html @@ -6,5 +6,6 @@
      {{ block "main" . }}{{ end }}
      + {{- partial "footer.html" . -}} diff --git a/users/fcuny/notes/layouts/_default/single.html b/users/fcuny/notes/layouts/_default/single.html index 7a85a05..7f594ad 100644 --- a/users/fcuny/notes/layouts/_default/single.html +++ b/users/fcuny/notes/layouts/_default/single.html @@ -31,24 +31,10 @@ {{ end }}
    -{{ if .Params.toc }} -
    - Table of contents - {{ .TableOfContents }} -
    -{{ end }} -
    {{ .Content }}
    -{{ if .Params.toc }} -
    - Table of contents - {{ .TableOfContents }} -
    -{{ end }} - {{ end }} diff --git a/users/fcuny/notes/layouts/index.atom.xml b/users/fcuny/notes/layouts/index.atom.xml index 1d73f9b..e4b014b 100644 --- a/users/fcuny/notes/layouts/index.atom.xml +++ b/users/fcuny/notes/layouts/index.atom.xml @@ -8,7 +8,7 @@ {{.}}{{end}} {{end}} Hugo -- gohugo.io - {{ range where (first 10 (where .Site.Pages "Section" "blog")) "Params.hidden" "ne" "true" }} + {{ range where (first 10 (where .Site.Pages "Section" "notes")) "Params.hidden" "ne" "true" }} {{ `<![CDATA[` | safeHTML }}{{ .Title }}]]> diff --git a/users/fcuny/notes/layouts/index.html b/users/fcuny/notes/layouts/index.html index 2ab8c40..a340d3d 100644 --- a/users/fcuny/notes/layouts/index.html +++ b/users/fcuny/notes/layouts/index.html @@ -4,15 +4,16 @@

    {{ .Site.Home.Title }}

    -

    I'm an engineer currently on a break. Previously I was a Site Reliability Engineer working on Twitter's compute platform.

    +

    This is my collection of notes.

    -

    Contact

    - +

    Notes

    +
      + {{- $pages := where site.RegularPages "Type" "in" site.Params.mainSections }} + {{ range $pages }} + {{- $fmt := "2006-01-02" }} +
    • , {{ .Title }}
    • + {{ end }} +
    diff --git a/users/fcuny/notes/layouts/partials/footer.html b/users/fcuny/notes/layouts/partials/footer.html new file mode 100644 index 0000000..e2bf7ab --- /dev/null +++ b/users/fcuny/notes/layouts/partials/footer.html @@ -0,0 +1,32 @@ + diff --git a/users/fcuny/notes/layouts/partials/header.html b/users/fcuny/notes/layouts/partials/header.html index dede0ae..fe90497 100644 --- a/users/fcuny/notes/layouts/partials/header.html +++ b/users/fcuny/notes/layouts/partials/header.html @@ -1,12 +1,10 @@
    -
    diff --git a/users/fcuny/notes/static/CNAME b/users/fcuny/notes/static/CNAME index 7398ba2..5f43d63 100644 --- a/users/fcuny/notes/static/CNAME +++ b/users/fcuny/notes/static/CNAME @@ -1 +1 @@ -fcuny.net \ No newline at end of file +notes.fcuny.net diff --git a/users/fcuny/notes/static/css/custom.css b/users/fcuny/notes/static/css/custom.css index ae6d674..70ce618 100644 --- a/users/fcuny/notes/static/css/custom.css +++ b/users/fcuny/notes/static/css/custom.css @@ -1,37 +1,40 @@ body { font-family: sans-serif; - font-size: 1.125em; - line-height: 1.5; - color: #37474f; + font-size: 1em; + line-height: 1.8em; + color: #0e0e0b; margin: 1em auto; padding: 0 0.55em; - max-width: 45rem; -} - -@media screen and (min-width:58rem) { - body, - main { - max-width:calc(45rem + 15rem); - } - main { - display: flex; - } + max-width: 50rem; } h1 { + color: #0e0e0b; font-size: 2rem; margin-top: 1em; margin-bottom: 0.34em; } -h2 {margin-top: 1.25em; margin-bottom: 0.41em} -h3 {margin-top: 1.5em; margin-bottom: 0.5em} +h2, h3 { + border-bottom: 1px solid #eee; + font-style: italic; +} +h2 { + margin-top: 1.25em; + margin-bottom: 0.41em; + font-size: 1.4rem; +} +h3 { + margin-top: 1.5em; + margin-bottom: 0.5em; + font-size: 1.2rem; +} hr{ color:#000111; background-color:#000111; border:none; - height:2px + height:1px } a { @@ -64,10 +67,12 @@ p code { color: black; background-color: #eee; padding: 0 0.2rem; + font-size: 1.1em; } pre { font-family: monospace; + font-size: 1.1em; margin: 0; word-wrap: normal; padding: 0.8em; @@ -130,20 +135,15 @@ blockquote { } nav { - width: 100%; padding-right: 10px; + font-size: 1.4em; display: flex; + font-family: monospace; justify-content: space-between; align-items: center; padding-top: 0.5rem; } -@media screen and (min-width:58rem) { - nav { - max-width: calc(45rem + 15rem); - } -} - .nav-links { list-style: none; display: flex; @@ -151,51 +151,51 @@ nav { .navbar a { display: inline-block; - padding-right: 10px; + text-decoration: none; +} + +.navbar a:hover { + background-color: #b72d2d; + color: #fafafa; + text-decoration: none; +} + +.nav-bold { + font-weight: 700; + color: #b72d2d; + text-decoration: none; } article { - max-width: 45rem; + text-align: justify; } -#toc {display: none} +.post-permalink { + list-style: none; + margin-left: -20px; +} -#toc_small { - font-size: 0.9rem; - margin-bottom: 2rem; - margin-top: 2rem; +.post-date { + font-family: monospace; + font-weight: 400; + font-size: 1.1em; } -@media screen and (min-width:58rem) { - #toc_small {display: none;} + +footer { + border-top: 2px solid #eee; + margin-top: 2em; + display: flex; + flex-direction: row; + justify-content: left; + align-items: left; } -summary { - display:flex; - flex-direction:column; +footer a, footer a:link, footer a:focus, footer a:active, footer a:hover { + color: black; + text-decoration: none; + padding: 5px; } -#TableOfContents > ul, #TableOfContents > ul > li > ul { - list-style: none; - margin: 0; - padding: 0; -} - -#TableOfContents li {margin-bottom: 1rem;} - -@media screen and (min-width:58rem) { - #toc { - padding-left: 1rem; - padding-top: 4.5rem; - font-size: 0.9rem; - display:block; - position:sticky; - top:0; - align-self:flex-start; - max-width:15rem; - z-index:1; - } - #TableOfContents { - border-left: 3px solid #eee; - padding-left: 1rem; - } +footer a:not(:first-child) { + margin-left: 15px; } -- cgit 1.4.1 From a92df1fcec2d419f4352c56585f3cd1a871fc87c Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Sun, 3 Apr 2022 17:50:25 -0700 Subject: site: remove unnecessary elements --- users/fcuny/notes/config.toml | 8 --- users/fcuny/notes/layouts/_default/baseof.html | 1 - users/fcuny/notes/layouts/index.atom.xml | 24 --------- users/fcuny/notes/layouts/index.html | 16 +++--- users/fcuny/notes/layouts/partials/footer.html | 32 ------------ users/fcuny/notes/layouts/partials/head.html | 3 +- users/fcuny/notes/layouts/partials/header.html | 5 -- users/fcuny/notes/static/css/custom.css | 67 ++++++++++++-------------- 8 files changed, 40 insertions(+), 116 deletions(-) delete mode 100644 users/fcuny/notes/layouts/index.atom.xml delete mode 100644 users/fcuny/notes/layouts/partials/footer.html (limited to 'users/fcuny/notes/layouts/index.html') diff --git a/users/fcuny/notes/config.toml b/users/fcuny/notes/config.toml index 6ee3e63..cb488ee 100644 --- a/users/fcuny/notes/config.toml +++ b/users/fcuny/notes/config.toml @@ -19,14 +19,6 @@ enableGitInfo = true notes = "/notes/:slug/" tags = "/tags/:slug/" -[menu] - [[menu.main]] - identifier = "RSS" - name = "RSS" - title = "~/notes/feed" - url = "/feed.xml" - weight = 130 - [markup] [markup.tableOfContents] startLevel = 1 diff --git a/users/fcuny/notes/layouts/_default/baseof.html b/users/fcuny/notes/layouts/_default/baseof.html index 410e2bc..0c72fb1 100644 --- a/users/fcuny/notes/layouts/_default/baseof.html +++ b/users/fcuny/notes/layouts/_default/baseof.html @@ -6,6 +6,5 @@
    {{ block "main" . }}{{ end }}
    - {{- partial "footer.html" . -}} diff --git a/users/fcuny/notes/layouts/index.atom.xml b/users/fcuny/notes/layouts/index.atom.xml deleted file mode 100644 index e4b014b..0000000 --- a/users/fcuny/notes/layouts/index.atom.xml +++ /dev/null @@ -1,24 +0,0 @@ - - {{ .Site.Title }} - - - {{ .Permalink }}{{ with .Site.Author.name }} - - {{.}}{{ with $.Site.Author.email }} - {{.}}{{end}} - {{end}} - Hugo -- gohugo.io - {{ range where (first 10 (where .Site.Pages "Section" "notes")) "Params.hidden" "ne" "true" }} - - {{ `<![CDATA[` | safeHTML }}{{ .Title }}]]> - - {{ .Permalink }}{{ with .Site.Params.Author }} - - {{.}} - {{end}} - {{- $fmt := "2006-01-02T15:04:05-07:00" }} - {{ .Date.Format $fmt | safeHTML }} - {{ ` - - {{ end }} - diff --git a/users/fcuny/notes/layouts/index.html b/users/fcuny/notes/layouts/index.html index a340d3d..8ddc67d 100644 --- a/users/fcuny/notes/layouts/index.html +++ b/users/fcuny/notes/layouts/index.html @@ -2,16 +2,18 @@
    -

    {{ .Site.Home.Title }}

    + A place to collect random notes. -

    This is my collection of notes.

    - -

    Notes

    -
      +
        {{- $pages := where site.RegularPages "Type" "in" site.Params.mainSections }} {{ range $pages }} - {{- $fmt := "2006-01-02" }} -
      • , {{ .Title }}
      • +
      • + {{ .Title }} + {{ range $idx, $tag := .Params.tags }} + {{ $tag }} + {{ end }} +
      • + {{ end }}
      diff --git a/users/fcuny/notes/layouts/partials/footer.html b/users/fcuny/notes/layouts/partials/footer.html deleted file mode 100644 index e2bf7ab..0000000 --- a/users/fcuny/notes/layouts/partials/footer.html +++ /dev/null @@ -1,32 +0,0 @@ - diff --git a/users/fcuny/notes/layouts/partials/head.html b/users/fcuny/notes/layouts/partials/head.html index 7de4fd4..6e5a6fb 100644 --- a/users/fcuny/notes/layouts/partials/head.html +++ b/users/fcuny/notes/layouts/partials/head.html @@ -6,12 +6,11 @@ {{ $css := "/css/custom.css" }} - - + {{ .Title }} diff --git a/users/fcuny/notes/layouts/partials/header.html b/users/fcuny/notes/layouts/partials/header.html index fe90497..798463c 100644 --- a/users/fcuny/notes/layouts/partials/header.html +++ b/users/fcuny/notes/layouts/partials/header.html @@ -1,10 +1,5 @@
      diff --git a/users/fcuny/notes/static/css/custom.css b/users/fcuny/notes/static/css/custom.css index 70ce618..e02631a 100644 --- a/users/fcuny/notes/static/css/custom.css +++ b/users/fcuny/notes/static/css/custom.css @@ -1,11 +1,16 @@ +html { + margin-left: 2em; + margin-right: 0em; + margin-top: 1em; +} + body { - font-family: sans-serif; - font-size: 1em; - line-height: 1.8em; + font-family: monospace; + font-size: 1.15em; + line-height: 1.5em; color: #0e0e0b; - margin: 1em auto; padding: 0 0.55em; - max-width: 50rem; + max-width: 60rem; } h1 { @@ -87,9 +92,8 @@ pre { } #meta_tags { - border-radius: 8px; padding: 0 .5rem; - font-size: 0.9rem; + font-size: 0.8rem; border: 2px solid #eee; background-color: #eee; } @@ -102,28 +106,30 @@ pre { #meta_date { font-style: italic; - font-size: 0.9rem; + font-size: 0.8rem; } table { width: 100%; - border-spacing: 0px; + border-spacing: px; outline: none; } td{ - padding-right: 0.7em; + padding-left: 0.4em; padding-top: 0.4em; padding-bottom: 0.4em; } thead { - color: #000; - font-style: bold; - text-align: left; + color: #000; + font-style: bold; + text-align: left; } table, th, td { - font-family: monospace; - color: #000; + font-family: monospace; + border: 1px solid; + border-collapse: collapse; + color: #000; } blockquote { @@ -168,11 +174,17 @@ nav { article { text-align: justify; + padding-top: 2em; } -.post-permalink { - list-style: none; - margin-left: -20px; +#post-permalink { + list-style-type: none; + padding-left: 0; +} + +#post-permalink>li { + line-height:1.2rem; + margin:.6rem 0 } .post-date { @@ -180,22 +192,3 @@ article { font-weight: 400; font-size: 1.1em; } - -footer { - border-top: 2px solid #eee; - margin-top: 2em; - display: flex; - flex-direction: row; - justify-content: left; - align-items: left; -} - -footer a, footer a:link, footer a:focus, footer a:active, footer a:hover { - color: black; - text-decoration: none; - padding: 5px; -} - -footer a:not(:first-child) { - margin-left: 15px; -} -- cgit 1.4.1