Remove first page and add conditionals draft

This commit is contained in:
David Gonzalez Martin 2024-05-27 13:37:31 -06:00
parent 4ea7d98b3d
commit 645af428ea
5 changed files with 33 additions and 116 deletions

View File

@ -1,83 +1 @@
# Hextra Starter Template
[![Deploy Hugo site to Pages](https://github.com/imfing/hextra-starter-template/actions/workflows/pages.yaml/badge.svg)](https://github.com/imfing/hextra-starter-template/actions/workflows/pages.yaml)
[![Netlify Status](https://api.netlify.com/api/v1/badges/6e83fd88-5ffe-4808-9689-c0f3b100bfe3/deploy-status)](https://app.netlify.com/sites/hextra-starter-template/deploys)
![Vercel Deployment Status](https://img.shields.io/github/deployments/imfing/hextra-starter-template/production?logo=vercel&logoColor=white&label=vercel&labelColor=black&link=https%3A%2F%2Fhextra-starter-template.vercel.app%2F)
🐣 Minimal template for getting started with [Hextra](https://github.com/imfing/hextra)
![hextra-template](https://github.com/imfing/hextra-starter-template/assets/5097752/c403b9a9-a76c-47a6-8466-513d772ef0b7)
[🌐 Demo ↗](https://imfing.github.io/hextra-starter-template/)
## Quick Start
Use this template to create your own repository:
<img src="https://docs.github.com/assets/cb-77734/mw-1440/images/help/repository/use-this-template-button.webp" width=400 />
You can also quickly start developing using the following online development environment:
- [GitHub Codespaces](https://github.com/codespaces)
[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/imfing/hextra-starter-template)
Create a new codespace and follow the [Local Development](#local-development) to launch the preview
- [Gitpod](https://gitpod.io)
[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/imfing/hextra-starter-template)
## Deployment
### GitHub Pages
A GitHub Actions workflow is provided in [`.github/workflows/pages.yaml`](./.github/workflows/pages.yaml) to [publish to GitHub Pages](https://github.blog/changelog/2022-07-27-github-pages-custom-github-actions-workflows-beta/) for free.
For details, see [Publishing with a custom GitHub Actions workflow](https://docs.github.com/en/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site#publishing-with-a-custom-github-actions-workflow).
Note: in the settings, make sure to set the Pages deployment source to **GitHub Actions**:
<img src="https://github.com/imfing/hextra-starter-template/assets/5097752/99676430-884e-42ab-b901-f6534a0d6eee" width=600 />
[Run the workflow manually](https://docs.github.com/en/actions/using-workflows/manually-running-a-workflow) if it's not triggered automatically.
### Netlify
[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/imfing/hextra-starter-template)
### Vercel
[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fimfing%2Fhextra-starter-template&env=HUGO_VERSION)
Override the configuration:
<img src="https://github.com/imfing/hextra-starter-template/assets/5097752/e2e3cecd-c884-47ec-b064-14f896fee08d" width=600 />
## Local Development
Pre-requisites: [Hugo](https://gohugo.io/getting-started/installing/), [Go](https://golang.org/doc/install) and [Git](https://git-scm.com)
```shell
# Clone the repo
git clone https://github.com/imfing/hextra-starter-template.git
# Change directory
cd hextra-starter-template
# Start the server
hugo mod tidy
hugo server --logLevel debug --disableFastRender -p 1313
```
### Update theme
```shell
hugo mod get -u
hugo mod tidy
```
See [Update modules](https://gohugo.io/hugo-modules/use-modules/#update-modules) for more details.
# Birth Software website

View File

@ -1,6 +1,5 @@
---
title: Nativity
next: first-page
---
Nativity is the language and compiler for Birth Software.
@ -26,24 +25,26 @@ Nonetheless, self-hosting is the main immediate goal of the project, so after th
Before self-hosting, there will be no float or vector support. Intrinsics will only be implemented as needed. After self-hosting, an implementation of all this will follow.
# Basic types
# Language draft
## Boolean
## Basic types
### Boolean
Nativity does not support boolean types since there is no hardware concept of it. Instead, integer types should support the boolean use case.
## Integers
### Integers
Nativity supports 1-bit to 64-bit signed and unsigned integers.
## Float
### Float
Nativity does not support float types just yet. Support for 32-bit and 64-bit floats will be added.
## Vector
### Vector
Nativity does not support vector types just yet. Support will be added.
## Hello, World!
### Hello, World!
This is a valid hello world with libc linked
@ -55,3 +56,27 @@ fn [cc(.c)] main [export] () s32 {
return 0;
}
```
## Conditionals
```nat {filename="main.nat"}
module std;
fn [cc(.c)] main [export] () s32 {
// With integers:
>a: u32 = 1;
if (a) {
// 'a' is not zero
} else {
// 'a' is zero
}
// With pointers
>pointer: ?*u32 = a.&;
if (?a) {
// Here the variable is shadowed, the attribute "non-null" is added to the backend to the pointer variable
} else {
// Here the pointer is null
}
}
```

View File

@ -1,9 +0,0 @@
---
title: Demo Page
type: docs
prev: /
next: docs/folder/
---
A simple demo page.

View File

@ -1,10 +0,0 @@
---
title: Folder
type: docs
prev: docs/first-page
next: docs/folder/leaf
sidebar:
open: true
---
Pages can be organized into folders.

View File

@ -1,7 +0,0 @@
---
title: Leaf Page
type: docs
prev: docs/folder/
---
This page is under a folder.