| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Add a function `rgerrit' to run gerrit commands on the server.
Change-Id: I2beb77e7817e2be03ffbd008cf3545091a9d4c41
Reviewed-on: https://cl.fcuny.net/c/world/+/163
Reviewed-by: Franck Cuny <franck@fcuny.net>
|
|
|
|
|
|
|
|
|
| |
I will not be using drone anymore, and will likely replace it with
buildkite.
Change-Id: I45d91c43090aaba119855158e071dae377c1897f
Reviewed-on: https://cl.fcuny.net/c/world/+/162
Reviewed-by: Franck Cuny <franck@fcuny.net>
|
|
|
|
| |
Change-Id: If26166f29f9b519b87e288b514d2c603ca9b4413
|
|\
| |
| |
| | |
Change-Id: I790690b0877ae309d1d5feb5150f136085e78206
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
The REPL reads the input, send it to the lexer, and prints the token to
STDOUT. For now nothing else is done since we still don't parse the
tokens.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The tokens for equal (`==`) and not equal (`!=`) are composed of two
characters. We introduce a new helper (`peekChar`) that we use when we
encounter the token `=` or `!` to see if this is a token composed of two
characters.
Add some tests to ensure they are parsed correctly.
|
| | |
|
| |
| |
| |
| |
| | |
Ensure that the new keywords added (`if`, `else`, `true`, `false`,
`return`) are parsed correctly.
|
| |
| |
| |
| |
| |
| |
| | |
Add support for a few more keywords (`true`, `false`, `if`, `else`,
`return`).
All keywords are grouped together in the constant declaration.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
The test `TestNextTokenBasic` was not testing anything that
`TestNextTokenMonkey` was not already testing.
Rename `TestNextTokenMonkey` to `TestNextToken` for clarity.
|
| |
| |
| |
| | |
For now, automate running the tests.
|
| |
| |
| |
| |
| | |
Support the operator tokens that were added to our tokenizer. This also
add a few more tests to ensure we handle them correctly.
|
| |
| |
| |
| |
| |
| | |
Support additional tokens for operators (`-`, `*`, etc). This change
only adds the tokens to the list of constants, and group all the tokens
related to operators together.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The initial lexer for the monkey language. We only support a small
subset at this stage.
We have some simple tests to ensure that we can parse some small
snippet, and that the minimum number of tokens we need are also all
supported correctly.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is the initial tokenizer for the monkey language. For now we
recognize a limited number of tokens.
We only have two keywords at this stage: `fn` and `let`. `fn` is used to
create function, while `let` is used for assigning variables.
The other tokens are mostly to parse the source code, and recognize
things like brackets, parentheses, etc.
|
| |
| |
| |
| |
| |
| | |
The project is named monkey, we add a mod file to ensure that the
tooling / dependencies are set up correctly when we import various
modules in this project.
|
| | |
|
|
|
|
| |
This commit is empty on purpose.
|
|
|
|
| |
Change-Id: Ib2792fa8c3f861d290f2495a10672cdfd11c48d9
|
|
|
|
|
|
| |
These files are not needed in the monorepo.
Change-Id: I742316d7a6fae817bedbcd2e1f91963bc24c91b7
|
|\
| |
| |
| | |
Change-Id: I4fd7c748648415db1fa9baaa048ba51e186ec268
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Remove the target from the Makefile, add a target to the flake
configuration.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The version was evaluated before the deploy was done, we need to get
that information after running `flyctl deploy`.
Annotate the tag since we're doing a release.
Remove the argument `IMAGE_REF` since it's being ignored.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Prior to this change, the size of the image was about 300MB:
```
; docker images|grep fcuny/golang|grep days
fcuny/golang.fcuny.net d07add42f21a69e2c057eae8492bbd599dc50082 9fd284c5d8ee 2 days ago 313MB
fcuny/golang.fcuny.net ca3dd083f8d6642821781ce03829713524322bbe 8104afadfd1f 2 days ago 313MB
```
With this change, we're reducing the image to less than 10MB:
```
fcuny/golang.fcuny.net 19b3dccc1ff31534df3636d4d7d6a28c0ae1e189 c9ae35574f8e 24 seconds ago 9.09MB
```
Since there's storage and bandwidth involved in this process, there's no
point in not going for a smaller image.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Don't deploy to Google App anymore, but use fly.io instead.
Add steps to the Makefile to build a docker image, and to deploy the
application to fly.io.
|
| |
| |
| |
| | |
The repository for `homelab` is not ready yet.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Rewrite the program to use external templates and load the configuration
from an external source.
We don't want to blindly send all the requests to some SCM since we want
to support only some modules / program that way.
There's two templates, one for requests coming from a browser, which
list all the supported modules, and one for the `go get` command.
For requests coming from `go get`, we generate a template that indicates
where the repository is.
The external configuration is in YAML, and list all the supported
repositories, and the URL of the repository. It assumes a default VCS
for all the modules (git in our case).
|
| | |
|
| |
| |
| |
| | |
Add a target to open the console.
|
| | |
|
| |
|
|
|
|
|
|
| |
Change-Id: I1c57da26d315c847fc5cef134e75a34395764ac9
Reviewed-on: https://cl.fcuny.net/c/world/+/161
Reviewed-by: Franck Cuny <franck@fcuny.net>
|
|
|
|
|
|
|
|
| |
This has been dropped in cgit.
Change-Id: I255ea20b4f81d080207ac8eac6f6727cac2d54f5
Reviewed-on: https://cl.fcuny.net/c/world/+/126
Reviewed-by: Franck Cuny <franck@fcuny.net>
|
|
|
|
|
|
|
|
|
|
| |
- enable git configuration to read the section out of it
- don't display the owner (it's git by default)
- sort branches and repositories by age
Change-Id: I3f21ec6eb25747d21c23a68b6f24f7cb8345fb02
Reviewed-on: https://cl.fcuny.net/c/world/+/125
Reviewed-by: Franck Cuny <franck@fcuny.net>
|
|
|
|
|
|
|
|
|
| |
There are a few repositories that I want to have active in gerrit but I
don't want to list in cgit.
Change-Id: I341801cddba0909d5c32d2653c8cc5eb8aae94ed
Reviewed-on: https://cl.fcuny.net/c/world/+/124
Reviewed-by: Franck Cuny <franck@fcuny.net>
|
|
|
|
|
|
| |
Change-Id: I65efa49a904ab1885bd72566e450b6678be6aa21
Reviewed-on: https://cl.fcuny.net/c/world/+/123
Reviewed-by: Franck Cuny <franck@fcuny.net>
|
|
|
|
|
|
|
|
|
|
|
|
| |
From the documentation for `project-list`:
A list of subdirectories inside of scan-path, relative to it, that
should loaded as git repositories. This must be defined prior to
scan-path
Change-Id: Iab176a800e8ff0abd515a525d89ef524ba6ab097
Reviewed-on: https://cl.fcuny.net/c/world/+/122
Reviewed-by: Franck Cuny <franck@fcuny.net>
|
|
|
|
|
|
|
|
|
|
|
| |
The logic was previously incorrect. If a repository becomes hidden in
gerrit, it will not be removed from the list. Instead, we create a
temporary file which we use to dump the new list and then move it over
the current list.
Change-Id: I990588ac98ad4024ba144c4c76ad7e4ae27202bc
Reviewed-on: https://cl.fcuny.net/c/world/+/121
Reviewed-by: Franck Cuny <franck@fcuny.net>
|
|
|
|
|
|
|
|
| |
Configure gitweb to link to our cgit instance
Change-Id: I55cb96e7199bf2636a30689b277978008d6605eb
Reviewed-on: https://cl.fcuny.net/c/world/+/88
Reviewed-by: Franck Cuny <franck@fcuny.net>
|
|
|
|
|
|
|
|
|
|
| |
Query the gerrit API to get the list of active projects, and generate
the list of repositories from it. This run every 10 minutes as a systemd
timer.
Change-Id: I016a6d748597ff4d03af893e0a95b96830bdb3f7
Reviewed-on: https://cl.fcuny.net/c/world/+/87
Reviewed-by: Franck Cuny <franck@fcuny.net>
|
|
|
|
|
|
| |
Change-Id: I2328abdbd369358e59747a220fe1e57edd8c5126
Reviewed-on: https://cl.fcuny.net/c/world/+/86
Reviewed-by: Franck Cuny <franck@fcuny.net>
|
|
|
|
|
|
| |
Change-Id: Ia0b3c7e5c2b1f399f7eaf5db2e926dc3a0859790
Reviewed-on: https://cl.fcuny.net/c/world/+/85
Reviewed-by: Franck Cuny <franck@fcuny.net>
|
|
|
|
|
|
| |
Change-Id: I7d70a25f95cddedaba5e5186b6e7f83ddf9e7eb9
Reviewed-on: https://cl.fcuny.net/c/world/+/84
Reviewed-by: Franck Cuny <franck@fcuny.net>
|
|
|
|
|
|
| |
Change-Id: I8d00bfd71248e1403e8966d74e93941d90462b47
Reviewed-on: https://cl.fcuny.net/c/world/+/83
Reviewed-by: Franck Cuny <franck@fcuny.net>
|
|
|
|
|
|
|
|
| |
Configure gerrit to send emails using fastmail's SMTP servers.
Change-Id: I658373a2c1e9b3c5dcbe214a02ebe8ca1be69580
Reviewed-on: https://cl.fcuny.net/c/world/+/81
Reviewed-by: Franck Cuny <franck@fcuny.net>
|
|
|
|
|
|
| |
Change-Id: I2a5b554be29af9184ad504bcb8beca30c605e6c4
Reviewed-on: https://cl.fcuny.net/c/world/+/63
Reviewed-by: Franck Cuny <franck.cuny@gmail.com>
|
|
|
|
|
|
| |
Change-Id: I3b00408d7550d7660fb33940ae2cd0806076f4d2
Reviewed-on: https://cl.fcuny.net/c/world/+/62
Reviewed-by: Franck Cuny <franck.cuny@gmail.com>
|
|
|
|
|
|
| |
Change-Id: Idba41215b58e8cd77d8d4efa354a3acf52c6bc6d
Reviewed-on: https://cl.fcuny.net/c/world/+/61
Reviewed-by: Franck Cuny <franck.cuny@gmail.com>
|
|
|
|
|
|
|
|
|
| |
cgit is a git web viewer, it will be hosted at git.fcuny.net to replace
gitea.
Change-Id: I16561776fa90a3561d6a13f8545bd2e8f67f409a
Reviewed-on: https://cl.fcuny.net/c/world/+/46
Reviewed-by: Franck Cuny <franck.cuny@gmail.com>
|
|
|
|
| |
Change-Id: Ie217a14a20474b626a2c66116663b785193978c2
|
|
|
|
| |
Change-Id: I94e28dc52d69c3c2ee4d59a0109c9ae32402fb2c
|
|
|
|
| |
Change-Id: I3fadf8a3a9a81c7966b4c048ace1ae259f0e3668
|
|
|
|
| |
Change-Id: I3e4a215b47a5a368210b268fa170aa2dddab721f
|
|
|
|
| |
Change-Id: I449f9032e32911fa33c26ec41faadb4f8acc8b1f
|
| |
|
|
|
|
|
|
|
| |
The default configuration wants to run gerrit with a DynamicUser.
However, this prevent the server to generate the ssh keys needed by
gerrit. Instead, we can force the server to run with the 'git' user,
which already exists.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This identify the server (see
https://github.com/NixOS/nixpkgs/blob/634141959076a8ab69ca2cca0f266852256d79ee/nixos/modules/services/web-apps/gerrit.nix#L141).
|
| |
|
|
|
|
|
|
| |
Gerrit is a tool for doing code review for git. It will be running at
cl.fcuny.net and will be the main way to interact with my git
repositories.
|
|
|
|
|
|
|
|
|
| |
Integrate properly the tool `dnsupdate` with flake.nix, by adding a
default.nix inside its directory.
Having all the tools under a directory named `tools` is easier to reason
about. I don't need a go.mod at the top level directory either, each
tool will have its own.
|
|
|
|
|
|
|
| |
There's no need to have a flake.nix for the notes, we can use the same
mechanism as for the blog and resume.
Add a README so I remember how to use this in the future.
|
|
|
|
|
| |
This is needed in order to replace the flake.nix with a default.nix,
like I did for the blog earlier.
|
|
|
|
|
|
|
| |
Integrate the resume with the rest of the repository, as I did for the
blog in the previous commit.
Added a script to copy the resume in the static directory of the blog.
|
|
|
|
|
|
| |
There's no need to have multiple `flake.nix` in the repository. Make the
blog part of the flake configuration at the root level of the
repository, delete the one in the blog, and update the documentation.
|
|
|
|
|
| |
This is not going to work with the next change, so I'm just going to
drop it.
|
|
|
|
|
| |
I can now have a readme.org with instructions on how to generate the
resume (because I'll obviously forget again).
|
| |
|
|
|
|
|
| |
In a monorepo setup, the CI configuration is not used at this level of
the tree, and the gitignore/envrc are not relevant.
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Running `nix build` is enough to generate the file `resume.html`. It
will be created in the `result` directory automatically.
The configuration for the build is also updated to run `nix build`
|
| | |
|
| |
|
|
|
|
|
| |
In a monorepo setup, the CI configuration is not used at this level of
the tree, and the gitignore/envrc are not relevant.
|
|\ |
|
| |
| |
| |
| | |
This is not needed anymore.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Instead of using the Makefile, move the content to a script. This will
be executed by drone later.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Separating the two sites so I can customize them differently.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Using Firefox' accessibility tool as a guide.
|
| | |
|
| |
| |
| |
| | |
These elements are unique on each page.
|
| | |
|
| |
| |
| |
| |
| | |
Depending on the size of the display, display the TOC either before the
article or on the right of the article and let's make it sticky.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There's a need for two TOCs in the layout: one for when the page is on
mobile; one for non mobile.
When we are on mobile, we display the first TOC, before the article.
When we're not on mobile, we hide that TOC and display one after the
document.
We restructure a bit the layout so that's it's a bit more readable too,
and close tags properly.
|
| | |
|
| |
| |
| |
| |
| | |
The div 'main' is not needed, we are creating an element named 'named'
in the main block.
|
| | |
|
| |
| |
| |
| | |
Use a light blue.
|
| |
| |
| |
| |
| | |
Otherwise it's the name of the site, which is not what I'm looking for
here.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Specify the weight so that the items in the menu are listed in the order
I want.
|
| |
| |
| |
| |
| | |
Generate correctly the content of the RSS feed. I only want the blog
articles, not the notes.
|
| | |
|
| |
| |
| |
| | |
Add a "contact" header with my information under it.
|
| | |
|
| |
| |
| |
| | |
After a successful deploy, push all the branches / tags to origin.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
If we're not explicit, we're trying to run the image tagged `latest',
but there's no image with that tag.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We were evaluating the version of the app when the rule was evaluated,
while we need to get the version after we run `flyctl deploy`.
Since we're tagging a release, let's also annotate the tag.
Remove the `--build-arg` argument to `flyct deploy` since it's being
ignored (same with `docker build`).
Closes #1.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
The last deploy was tagged v13, while the version deployed was 14. It's
possible that running `fly info` too quickly after a deploy returns the
incorrect version. Adding a `sleep 5` before running the command for git
tag.
|
| | |
|
| |
| |
| |
| | |
It's ugly.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add an element "article" to the single page template, and change the CSS
to use the decoration for headers only for that kind of content.
Having decoration for all headers is distracting, it's more suited for
actual content.
We also don't need decoration for h1, only smaller headers.
|
| | |
|
| |
| |
| |
| | |
Move the title to the left and the menu items to the right.
|
| |
| |
| |
| |
| |
| |
| |
| | |
If the deployment is successful, tag the repository with the version
being deployed on fly.io.
Don't deploy unless the repository is clean (this is done with the
target `worktree-clean`).
|
| |
| |
| |
| | |
This note captures things that are useful when working with go for me.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The Roboto Slab font is hard to read (at least for me). Switch to Droid
Sans and make the text a bit smaller.
Change the background of the page to white (again), and change the
background color for the code snippets.
Add text decoration for headlines (similar to org-bullet).
|
| |
| |
| |
| |
| | |
If an entry has the parameter `#+toc` set to `t`, we will enable the
table of content in the page.
|
| |
| |
| |
| |
| | |
We will have more use of the tag `nav` and we will need different styles
for it.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Increase the font size and change some of the colors used for
highlighting code.
|
| | |
|
| | |
|
| |
| |
| |
| | |
See humanstxt.org for more information.
|
| |
| |
| |
| |
| | |
Now that we're using a more recent version of the Docker image for hugo
that comes with git, we can enable again git information.
|
| |
| |
| |
| |
| | |
Add a Makefile to take care of most common operations (build, deploy,
etc).
|
| |
| |
| |
| |
| |
| |
| |
| | |
The Dockerfile used by fly is relying on an older version of hugo ([1]).
We can use a newer version and provide our own setup, and configure with
the flags we want (e.g. promote to HTTS automatically).
[1] https://github.com/superfly/flyctl/blob/3eb204909fbecd5fd2b1ba4517cdbce2abd9f74a/internal/build/imgsrc/builtins/defaultbuiltins.go#L89
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
The docker image used by fly.io to deploy a static website with hugo
does not come with git, which prevents us to use the option
`enableGitInfo`. This is not critical for now, so let's disable it so we
can deploy.
|
| | |
|
| |
| |
| |
| | |
Fix boot options
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
We want to have pages that list all the articles related to a given tag.
Update the configuration to add support for tags and the permalink
structure.
|
| |
| |
| |
| |
| |
| |
| | |
We want to show the tags and the published/updated date for the
articles.
Add to the CSS the classes for these new elements.
|
| |
| |
| |
| | |
Indent properly the CSS
|
| |
| |
| |
| | |
Indent properly the CSS for the `pre` tag.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
Add a workflow configuration to publish to GitHub pages. This is using
the standard configuration from
https://gohugo.io/hosting-and-deployment/hosting-on-github/
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
In a monorepo setup, the CI configuration is not used at this level of
the tree, and the gitignore/envrc are not relevant.
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
I ran into the following issue:
```
The agent failed to start with the following error log:
162022/05/11 02:38:11.375368 srv another instance of the agent is
already running
```
I'm not sure this is the right approach, but it's a start.
|
| |
| |
| |
| |
| | |
This is not needed anymore, I'm not running it in a container, and the
build is done remotely by fly when I do a build.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Delete the workflow for GitHub actions.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Add a drone configuration to run the deploy on a push to the main
branch.
Cleanup the nix configuration to only keep support for `nix run` (which
will run the hugo server).
|
| | |
|
| |
| |
| |
| | |
It's already in the footer.
|
| | |
|
| |
| |
| |
| | |
They are at https://notes.fcuny.net now.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Add a `flake.nix' configuration to pull the required dependencies and
run the server.
Remove a few targets from the Makefile and move the deployment part to a
script.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The notes will be moved to a different site/repository, with their own
style.
Update the index page to make it more readable. Make the header more
visible with fewer links.
Add a footer, with links using SVG icons.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Using Firefox' accessibility tool as a guide.
|
| | |
|
| |
| |
| |
| | |
These elements are unique on each page.
|
| | |
|
| |
| |
| |
| |
| | |
Depending on the size of the display, display the TOC either before the
article or on the right of the article and let's make it sticky.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There's a need for two TOCs in the layout: one for when the page is on
mobile; one for non mobile.
When we are on mobile, we display the first TOC, before the article.
When we're not on mobile, we hide that TOC and display one after the
document.
We restructure a bit the layout so that's it's a bit more readable too,
and close tags properly.
|
| | |
|
| |
| |
| |
| |
| | |
The div 'main' is not needed, we are creating an element named 'named'
in the main block.
|
| | |
|
| |
| |
| |
| | |
Use a light blue.
|
| |
| |
| |
| |
| | |
Otherwise it's the name of the site, which is not what I'm looking for
here.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Specify the weight so that the items in the menu are listed in the order
I want.
|
| |
| |
| |
| |
| | |
Generate correctly the content of the RSS feed. I only want the blog
articles, not the notes.
|
| | |
|
| |
| |
| |
| | |
Add a "contact" header with my information under it.
|
| | |
|