Skip to content

All of the Zig code, documentation, and other assets from my "Zig Bytes" series.

License

Notifications You must be signed in to change notification settings

purefns/zig-bytes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues MIT License YouTube Playlist


Zig Bytes

ZigIsGreat mascot

The companion project to my Zig Bytes series, available as a standalone set of runnable examples.

Report Bug · Request Feature

Table of Contents
  1. Compatibility
  2. Getting Started
  3. Roadmap
  4. Contributing
  5. License
  6. Contact
  7. Acknowledgments

Compatibility

This project currently has support for the following systems:


OS Support level
Linux Full
Windows WIP
FreeBSD WIP
MacOS WIP

Note: This is the main branch, which means there are probably bugs and missing sections.
This repository as a whole is also currently unfinished, which will likely make these issues worse.
Please keep these things in mind when reporting bugs or other issues.

A tagged release for Zig version 0.13.0 is currently being worked on.

(back to top)

Getting Started

Clone the repo

Run the following commands to clone the repository and enter the project directory:

git clone https://github.com/purefns/zig-bytes
cd zig-bytes

Install Zig

You will need to have the Zig compiler installed on your system.

The current requred version is 0.13.0.

You can install it via a number of different methods, with availability depending on your OS:

  • Using a pre-built binary
    • This is the recommended option for most people. Make sure to download the correct option for your operating system and CPU architecture.
  • Using a package manager
    • This can be fine if your distribution/package manager's repositories are up-to-date, but a majority of them are not. This is likely due to the fast development speed of Zig - if you have a compatible version available to install, please feel free to do so.

There is also a flake.nix available that includes a devshell set up with the necessary dependencies. To use it, just run the following command in the project directory:

nix develop

Usage

To get started with the first example just run zig build.

To run a specific example use the -Dexample=[NAME] flag, i.e. zig build -Dexample=assignment.

To see the full list of valid example names (in order by chapter) run zig build --help.

Below is a demo of the default example:

Example GIF

(back to top)

Roadmap

  • Finish each chapter's examples (#18)
  • Finish adding OS support
    • Windows (#2)
    • FreeBSD (#3)
    • MacOS (#4)

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

Contact

James Adam - [email protected]

Project Link: https://github.com/purefns/zig-bytes

(back to top)

Acknowledgments

❤️ Ziglings for helping me figure out how to create a custom build step

❤️ ZigHelp for inspiration on the course layout

❤️ Best README Template for the amazing template

(back to top)

About

All of the Zig code, documentation, and other assets from my "Zig Bytes" series.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published