Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 75 additions & 0 deletions Docs/Windows-dev.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# IETF Tools development on Windows

While most projects can run in a docker container on Windows, you'll likely encounter various issues and performance limitations by doing so. It's recommended to instead develop in [WSL2](https://docs.microsoft.com/en-us/windows/wsl/) (Windows Subsystem for Linux) which enables you to run a full Linux system directly on Windows.

## Requirements

- Windows 10 version 2004 and higher (Build 19041 and higher), or Windows 11
- Virtualization enabled on your machine
- [Docker Desktop](https://www.docker.com/products/docker-desktop/)

**Optional but recommended**

- [Windows Terminal](https://aka.ms/terminal)
- [Visual Studio Code](https://code.visualstudio.com/), with the **WSL** and **Dev Containers** extensions

## Install WSL2 (Windows Subsystem for Linux)

> Instructions taken from [https://docs.microsoft.com/en-us/windows/wsl/install](https://docs.microsoft.com/en-us/windows/wsl/install)

In an **administrator** PowerShell or Command Prompt, run the following command and then restart your machine:

```powershell
wsl --install
```

This command will enable the required optional components, download the latest Linux kernel, set WSL 2 as your default, and install the default Ubuntu distribution.

The first time you launch a newly installed Linux distribution, a console window will open and you'll be asked to wait for files to de-compress and be stored on your machine. All future launches should take less than a second.

> [!NOTE]
> You can install any other Linux distro afterwards from the Microsoft Store.

## Run WSL for the first time

You can either:
- use **Windows Terminal** *(recommended)* and select **Ubuntu** in the dropdown list
- from a **Powershell** / **Command Prompt**, type `wsl.exe`
- from the Start Menu, click on the linux distribution you installed (e.g. Ubuntu)

You'll be prompted to choose a username and password the first time.

## Enable Docker Integration

In order to use Docker inside WSL2, we need to enable Docker integration in Desktop Desktop.

1. Open **Docker Desktop** and go to **Settings**.
2. Under the **Resources** > **WSL Integration** tab, make sure that `Enable integration with my default WSL distro` is enabled. If you installed additional distros from the Microsoft Store, make sure to enable them as well.
3. Click **Apply & Restart**

## Clone a project in WSL2

In WSL2, create a directory for your projects, under your home folder, e.g.:

```sh
mkdir projects
cd projects
```

Then clone the project of your choice at that location, e.g. for datatracker:

```sh
git clone https://github.com/ietf-tools/datatracker.git
```

## Open the project in VS Code

Navigate to the project folder and run `code .`, e.g.:
```
cd datatracker
code .
```

This will launch VS Code installed on your host and open the folder residing in WSL2.

From there, you can re-open the project in a devcontainer by typing <kbd>CTRL</kbd> + <kbd>SHIFT</kbd> + <kbd>P</kbd>, then typing `reopen` and select **Dev Containers: Reopen in Container**.
13 changes: 13 additions & 0 deletions Mybotton.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<!-- MyButton.html -->

<button onclick={e => OnClick(e)}>
Clicks: {c} <!-- ⬅︎ HTML can "react" natively, no framework! 🚨 -->
</button>

<script lang="C#"> // ⬅︎ script tags in ANY language! 🚨
void OnClick(Event e)
{
c++;
Console.Log("Hello from C#");
}
<script src="https://gist.github.com/Web4application/2d7df25f7a2565e6462d511a37917d25.js"></script>
File renamed without changes.
66 changes: 66 additions & 0 deletions ietf-tools/.Xhtml.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
<div align="center">

<a href="https://www.ietf.org/"><img src="https://raw.githubusercontent.com/ietf-tools/common/main/assets/logos/ietf-tools-team.svg" alt="IETF Tools Team" /></a>

##### Internet Engineering Task Force | [ietf.org](https://www.ietf.org/)

</div>

<div align="center">

🗺️ [View the Roadmap](https://github.com/orgs/ietf-tools/projects/9) | 📔 [Datatracker Website](https://datatracker.ietf.org)

<table><tbody><tr><td valign="top">
<img width="250" height="1" />

**Tools**

- [draftforge](https://github.com/ietf-tools/draftforge)
- [id2xml](https://github.com/ietf-tools/id2xml)
- [iddiff](https://github.com/ietf-tools/iddiff)
- [idnits](https://github.com/ietf-tools/idnits)
- [pypi-publish](https://github.com/ietf-tools/pypi-publish)
- [rfc2html](https://github.com/ietf-tools/rfc2html)
- [rfcfold](https://github.com/ietf-tools/rfcfold)
- [rfclint](https://github.com/ietf-tools/rfclint)
- [rfctools-common](https://github.com/ietf-tools/rfctools-common)
- [rfc-errata](https://github.com/ietf-tools/rfc-errata)
- [rfc-xmldiff](https://github.com/ietf-tools/rfc-xmldiff)
- [svgcheck](https://github.com/ietf-tools/svgcheck)
- [xml2rfc](https://github.com/ietf-tools/xml2rfc)

</td><td valign="top">
<img width="250" height="1" />

**Web4 Applications**

- [bibxml-service](https://github.com/ietf-tools/bibxml-service/)
- [datatracker](https://github.com/ietf-tools/datatracker)
- [author-tools](https://github.com/ietf-tools/author-tools)
- [ietf-guides](https://github.com/ietf-tools/ietf-guides)
- [mailarch](https://github.com/ietf-tools/mailarch)
- [red](https://github.com/ietf-tools/red)
- [www](https://github.com/ietf-tools/www)
- [wiki](https://github.com/ietf-tools/wiki)

**Modules**

- [common-bootstrap-theme](https://github.com/ietf-tools/common-bootstrap-theme)
- [semver-action](https://github.com/ietf-tools/semver-action)

</td><td valign="top">
<img width="250" height="1" />

**Documentation / Notes**

- [concluded-wgs](https://github.com/ietf-tools/concluded-wgs)
- [tools-transition-plan](https://github.com/ietf-tools/tools-transition-plan)
- [tools-workshops](https://github.com/ietf-tools/tools-workshops)
- [service-plans](https://github.com/ietf-tools/service-plans)

**Others**

- [common](https://github.com/ietf-tools/common)

</td></tr></tbody></table>
</div>
2 changes: 2 additions & 0 deletions ietf-tools/cd docker && ./run-dev
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
cd myportfolio
git init
1 change: 1 addition & 0 deletions packages/r/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

1 change: 1 addition & 0 deletions packages/rsc/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

1 change: 1 addition & 0 deletions profile/README.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@