A simple programming language for web coding written in C.
Ving is a programming language written in C that allows you to create websites using simple syntax. Compiles to clean HTML/CSS for maximum performance.
- Simple and intuitive syntax
- Fast compilation to HTML/CSS
- Ready-to-use GUI elements (buttons, text, images)
- Media elements (video, audio, iframe)
- Dark and light themes
- Buttons with links
- Text styling
Linux:
chmod +x vingc
./vingc example.ving output.htmlWindows:
vingc.exe example.ving output.htmlgit clone https://github.com/vingcode/ving.git
cd ving
make
./vingc example.ving output.html- Open
VingIde.htmlin your browser to get an in-browser editor and live preview. - Edit Ving code on the left; the preview updates automatically on the right.
- Use the Download HTML button to export the generated page.
- VingIde supports directives (
style,title) and elements (text,button,img,video,audio,iframe).
style:black
title: My Website
text(bold,big): Hello, World!
button(st1,link:https://example.com):Click Me
img(big): photo.png
style:black
title: Media Site
text(bold): Video
video(controls):video.mp4
text(bold): Audio
audio(controls):audio.mp3
text(bold): YouTube
iframe(allowfullscreen,width:560,height:315):https://youtube.com/embed/...
style:black- set dark themestyle:light- set light themetitle: Title- page title
button() # Simple button
button(st1) # Button with style
button(link:https://example.com):Click # Button with link
button(st1,link:https://example.com):Click # Style and link
text(): Plain text
text(bold): Bold text
text(italic): Italic text
text(bold,italic): Bold and italic
text(big): Large text
img(): photo.png # Regular image
img(big): photo.png # Large image
video(controls):video.mp4
video(autoplay,loop,muted):video.mp4
video(controls,width:800,height:450):video.mp4
audio(controls):audio.mp3
audio(controls,autoplay):audio.mp3
iframe(src:https://example.com)
iframe(allowfullscreen,width:560,height:315):https://youtube.com/embed/...
Full documentation is available in USAGE file.
- GCC compiler (version 4.9+)
- Make (optional)
# Regular build
make
# Static build
make static
# Windows build (requires MinGW)
make windowsSee BUILD.md for details.
ving/
├── vingc.c # Compiler source code
├── Makefile # Build file
├── README.md # This file
├── USAGE # Quick reference
├── BUILD.md # Build instructions
├── index.html # Main website page
├── docs.html # Full documentation
└── download.html # Download page
# Basic usage
./vingc input.ving output.html
# If output file is not specified, output.html is created
./vingc input.vingThe project automatically builds on every push to main/master/develop branches using GitHub Actions.
To create a release:
-
Using Git tags (automatic):
git tag v1.0.0 git push origin v1.0.0
This will automatically trigger the release workflow, build binaries for Linux and Windows, and create a GitHub release.
-
Using release script:
./release.sh 1.0.0 git tag v1.0.0 git push origin v1.0.0
-
Using GitHub CLI:
gh release create v1.0.0 --title "Release v1.0.0" --notes "Release notes"
The release workflow will:
- Build static Linux binary
- Build Windows .exe (if MinGW is available)
- Create release archives (tar.gz for Linux, zip for Windows)
- Upload to GitHub Releases automatically
This project is distributed under the MIT license.
We welcome contributions to Ving:
- Fork the repository
- Create a branch for your feature
- Commit your changes
- Push to the branch
- Open a Pull Request
- GitHub Organization: @vingcode
- Issues: Create issue
Project is actively developed. Current version supports:
- Basic elements (button, text, img)
- Media elements (video, audio, iframe)
- Themes
- Buttons with links
- Text styling
- Structural elements (header, footer, nav, section)
- Headings (h1-h6)
- Lists (ul, ol)
- Forms (input, textarea, submit)
- SEO meta tags
- External CSS/JS linking
- Tables
- Variables
- Modularity (include)