diff --git a/Dockerfile b/Dockerfile index 8cd58c4..9bc1645 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,8 +2,7 @@ FROM python:3.12-bookworm EXPOSE 8080 -COPY site_mcknight_tech /site -COPY requirements.txt /tmp/requirements.txt -RUN pip install -r /tmp/requirements.txt +COPY . /site +RUN pip install /site -ENTRYPOINT [ "python3", "/site/__main__.py" ] +ENTRYPOINT [ "launch-site" ] diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..fa54a3f --- /dev/null +++ b/setup.py @@ -0,0 +1,27 @@ +# Copyright (C) 2025 Daniel McKnight - All Rights Reserved +from os.path import join, dirname + +from setuptools import setup, find_packages + + +def get_requirements(requirements_filename: str): + requirements_file = join(dirname(__file__), requirements_filename) + with open(requirements_file, 'r', encoding='utf-8') as r: + requirements = r.readlines() + requirements = [r.strip() for r in requirements if r.strip() + and not r.strip().startswith("#")] + return requirements + +setup( + name="site-mcknight-tech", + author="Daniel McKnight", + author_email="daniel@mcknight.tech", + description="McKnight Tech Website", + packages=find_packages(), + include_package_data=True, + package_data={"site_mcknight_tech": ["page_content/*"]}, + install_requires=get_requirements("requirements.txt"), + entry_points={ + "console_scripts": ['launch-site=site_mcknight_tech.__main__:main'] + } +) \ No newline at end of file diff --git a/site_mcknight_tech/__main__.py b/site_mcknight_tech/__main__.py index 6a76388..85c85fe 100755 --- a/site_mcknight_tech/__main__.py +++ b/site_mcknight_tech/__main__.py @@ -44,7 +44,4 @@ def render_header() -> ui.tab_panels: def main(): header = render_header() header.set_value(list(_tab_to_content.keys())[0]) - ui.run(dark=None) - - -main() + ui.run(dark=None, reload=False, title="Daniel McKnight") diff --git a/site_mcknight_tech/page_content/home.md b/site_mcknight_tech/page_content/home.md index 75c009f..2a6e145 100644 --- a/site_mcknight_tech/page_content/home.md +++ b/site_mcknight_tech/page_content/home.md @@ -1,19 +1,4 @@ -# McKnight Technology Services +# Daniel McKnight +## Coder, Sysadmin, Manager -Hi! This is some text - -## h2 Title -Lorem ipsum... - -> This is a quote - -### Shell -```shell -ls / -``` - -### Python -```python -for i in range(42): - print(i) -``` +I work in the design and implementation of voice assistants, LLMs, infrastructure, and plenty more. diff --git a/site_mcknight_tech/page_content/portfolio.md b/site_mcknight_tech/page_content/portfolio.md index 4e37062..5a42ab8 100644 --- a/site_mcknight_tech/page_content/portfolio.md +++ b/site_mcknight_tech/page_content/portfolio.md @@ -3,7 +3,7 @@ I have developed and contributed to hundreds of open source repositories on GitH I cannot share here). This is just a selection of some of my favorite projects and what I like about them. ## Neon Core -This is the primary project I contributed to as part of my work at NeonGecko. It started as work with the (now defunct) +This is the primary project I contribute to as part of my work at NeonGecko. It started as work with the (now defunct) open source Mycroft AI project, turned into a proprietary fork, and then we ended up open sourcing that fork. Working on this project, I learned a lot about contributing to open source and managing open source projects. At the start, I learned how to be a helpful individual contributor, and later I was on the other side, learning how to interface with the community @@ -33,8 +33,8 @@ developer-oriented CLI tools for generating Helm charts to deploy the same servi systems. ## `neon-debos` -This project was my first foray into Go templates. It started as a fork of another similar project which I adapted to -our needs. As part of this project, I used squashfs/overlayfs to enable safe OS updates with methods to roll-back or +This project was my first exposure to Go templates. It started as a fork of another similar project which I adapted to +our needs. As part of this project, I used squashfs/overlayfs to enable safe OS updates with methods to roll back or reset an installation in case of any errors. To support this, I compiled custom kernels and implemented a customized initramfs. diff --git a/site_mcknight_tech/page_content/resume.md b/site_mcknight_tech/page_content/resume.md index d03694f..bf1f847 100644 --- a/site_mcknight_tech/page_content/resume.md +++ b/site_mcknight_tech/page_content/resume.md @@ -20,11 +20,6 @@ November 2015 - December 2017 - Experience with Windows and Mac system administration, troubleshooting, and repair -## Projects -- Professional open-source work can be found at: https://github.com/neondaniel -- Documentation I wrote for much of my professional work: https://neongeckocom.github.io/neon-docs/ -- A selection of small projects are documented on my blog: https://blog.mcknight.tech/ - ## Technologies ### Languages - Python