Metadata-Version: 2.1
Name: GammaJ
Version: 6
Summary: A small lightweight language that combines Python and HTML.
Home-page: https://github.com/elemenom/gammaj
Author: elemenom
Author-email: pixilreal@gmail.com
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: OS Independent
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE


A small lightweight language that combines Python and HTML.
Recommended file extension: .γ/.gmaj

Example syntax:
```GammaJ
export <void> <!DOCTYPE html> </void> # recommended to use at the top of your file

# comment
x: int = 123; # variable
# semicolon is optional
def xyz() -> None { # opening brace
    ... # ellipsis (ignores the line)
} # closing brace

def main() -> None {
    # to insert html, use the 'export html' statement along with a 'end html' as shown below
    export <void>
        <!-- html code here -->
        <h1>
            Hello, world!
        </h1> <!-- this will open your browser to a random unused port with a 'Hello, world' heading -->
    </void>
    
    # after the closing 'html' tag, you can continue with python code
    # to export for ex. a python variable, which is not possible with 'export gamma',
    # you can use plain 'export' instead:
    name: str = "Bob"
    export print("Unformatted", "text") # creates plain text
    export paragraph("Hello,", name) # creates a paragraph with text: 'Hello, Bob'
    export heading1("Heading 1") # \
    export heading2("Heading 2") # |
    export heading3("Heading 3") #  > headings
    export heading4("Heading 4") # |
    export heading1("Heading 1") # /
    export weblink("https://google.com", "Google") # creates a hyperlink. param 1 is href
    export image("cat.png", "A picture of a munchkin cat") # creates an image. param 1 is src, param 2 is alt
    export list("item 1", "item 2", "item3") # creates an unordered list. cannot be created with brackets [] (e.g. export ["1", "2"]) like non-exported lists
    export table("item 1", "item 2", "item") # creates a table
    
if __name__ == '__main__' { # runs only when the file is executed directly
    main() # executes the main function
}
```

DISCLAIMER: The

DISCLAIMER: You cannot import GammaJ files in Python files or from other GammaJ files.
            You _can_ import Python from GammaJ files though.

## Running a GammaJ file
### Method 1: Use cmdlet (recommended)
```commandline
gammaj <filename>
```
### Method 2: Run using python module
```commandline
python -m gammaj <filename>
```

## How to get Syntax Highlighting (new in v4)
- Disclaimer: Right now, syntax highlighting is only available for PyCharm (all editions including the free community edition)
- Download GammaJ.xml [here](https://github.com/elemenom/gammaj/blob/main/GammaJ.xml)
- Click 'Download raw file'
- Move the downloaded file (usually in C:/Users/<USERNAME>/Downloads) to your PyCharm 'filetypes' directory (usually C:/Users/<USERNAME>/AppData/Roaming/JetBrains/PyCharm<VERSION>/filetypes)
- Restart PyCharm (if needed)
- Voilà! You now have colour in your GammaJ file.
