Skip to content

Commit

Permalink
docs: create documentation to be published
Browse files Browse the repository at this point in the history
Signed-off-by: Gerard Hickey <[email protected]>
  • Loading branch information
hickey committed Feb 15, 2024
1 parent 06ebf3b commit ec52e08
Show file tree
Hide file tree
Showing 10 changed files with 124 additions and 44 deletions.
37 changes: 37 additions & 0 deletions .github/workflows/publish-docs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Publish MeshChat Documentation
on: push

jobs:
build:
runs-on: ubuntu-latest
container:
image: jtackaberry/luadox:latest
steps:
- run: luadox -c luadox.conf
- name: Fix permissions
run: |
chmod -c -R +rX "_site/" | while read line; do
echo "::warning title=Invalid file permissions automatically fixed::$line"
done
- uses: actions/upload-pages-artifact@v3

# Deploy job
deploy:
needs: build

# Grant GITHUB_TOKEN the permissions required to make a Pages deployment
permissions:
pages: write # to deploy to Pages
id-token: write # to verify the deployment originates from an appropriate source

# Deploy to the github-pages environment
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}

# Specify runner + deployment step
runs-on: ubuntu-latest
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4 # or specific "vX.X.X" version tag for this action
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
docs/.markupserve_index
40 changes: 1 addition & 39 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
MeshChat
========
# MeshChat

MeshChat for AREDN (in Lua). MeshChat has become the defacto standard
chat application for AREDN networks. A number of features make it easy
Expand All @@ -10,48 +9,11 @@ to implement and use:
* No account creation necessary--users access using call sign
* Simple user interface

History of MeshChat
-------------------

This is the history of the various MeshChat versions that have existed--at
least to the best of my knowledge.

### MeshChat v0.4 - v1.02

This was the original version of MeshChat written by Trevor Paskett (K7FPV)
around 2015. It was written in Perl and worked well on the limited resources
of the AREDN nodes. Around 2018 Trevor was not able to or not interested
in supporting MeshChat any longer, it is unclear which but the project
became stagnant at version v1.01 in August of 2018. There was a final
release of v1.02 in September 2022 that mostly added a few patches and
support for Debian Stretch.

The K7FPV code base still exists at https://github.com/tpaskett/meshchat.

In addition Trevor wrote a good amount of documentation for his versions
which is still pretty well covers the current versions of MeshChat.
The documentation can be found over at his blog, https://github.com/tpaskett/meshchat.

### MeshChat v2.0 - v2.8

When AREDN firmware v3.22.6.0 was released in June 2022, the AREDN development
team stopped including Perl in the distribution in favor of LUA. In preparation
of this change Tim Wilkinson (KN6PLV) started rewriting MeshChat in LUA
March 2022 with the first release of the new code base in April 2022. The
new MeshChat code continued to receive bug fixes for a year. At which
time Tim's involvement on the AREDN development team prevented him from
continuing to maintain MeshChat.

### Future of MeshChat

That brings the story upto the current time, September 2023, where I,
Gerard Hickey (WT0F), have started to be the maintainer of the MeshChat
code base. There has already been work to restructure the repository to
make working with the code more effective and to automatically build
packages when a release occurs.

There are a number of bug fixes and incremental improvements that will be
released in v2.9.

If you are looking for a feature to be implemented or find a bug, please
be sure to [create an issue](https://github.com/hickey/meshchat/issues/new)
Expand Down
38 changes: 38 additions & 0 deletions docs/History.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# History of MeshChat

This is the history of the various MeshChat versions that have existed--at
least to the best of my knowledge.

## MeshChat v0.4 - v1.02

This was the original version of MeshChat written by Trevor Paskett (K7FPV)
around 2015. It was written in Perl and worked well on the limited resources
of the AREDN nodes. Around 2018 Trevor was not able to or not interested
in supporting MeshChat any longer, it is unclear which but the project
became stagnant at version v1.01 in August of 2018. There was a final
release of v1.02 in September 2022 that mostly added a few patches and
support for Debian Stretch.

The K7FPV code base still exists at https://github.com/tpaskett/meshchat.

In addition Trevor wrote a good amount of documentation for his versions
which is still pretty well covers the current versions of MeshChat.
The documentation can be found over at his blog, https://github.com/tpaskett/meshchat.

## MeshChat v2.0 - v2.10

When AREDN firmware v3.22.6.0 was released in June 2022, the AREDN development
team stopped including Perl in the distribution in favor of LUA. In preparation
of this change Tim Wilkinson (KN6PLV) started rewriting MeshChat in LUA
March 2022 with the first release of the new code base in April 2022. The
new MeshChat code continued to receive bug fixes for a year. At which
time Tim's involvement on the AREDN development team prevented him from
continuing to maintain MeshChat.

## Future of MeshChat

That brings the story upto the current time, September 2023, where I,
Gerard Hickey (WT0F), have started to be the maintainer of the MeshChat
code base. There has already been work to restructure the repository to
make working with the code more effective and to automatically build
packages when a release occurs.
22 changes: 22 additions & 0 deletions docs/Install.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Installing MeshChat

MeshChat is distributed as an Itsy package (IPK file) to be installed on an
AREDN node. This is the simplest way to install MeshChat.

Simply download the MeshChat package to your compute and then access the
Adminstration panel in the AREDN's node setup. Under Package Management
you will have the option to upload a package. Once uploaded the MeshChat
system will be started within a couple of seconds.

Usually there is not really any configuration that needs to be done, but
review of the [configuration settings](../module/meshchatconfig.html) is
suggested. To make any configuration changes one needs to log into the
node using SSH and edit the file `/www/cgi-bin/meshchatconfig.lua`.

## Installing MeshChat on Linux

The current distribution of MeshChat does not currently support Linux. In
order to run MeshChat on a Linux machine, one needs to download MeshChat
v1.0.2 and install it on the Linux machine. Once installed, the configuration
need to be updated to set the `api_host` setting to the hostname or IP
of an AREDN node that has the MeshChat API package installed.
7 changes: 7 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
-- @module README

-- # This is a test
--
-- testing testing testing
--
6 changes: 6 additions & 0 deletions docs/Troubleshooting.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Troubleshooting

## Installation Issues


## Message Synchronization Issues
12 changes: 9 additions & 3 deletions luadox.conf
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@
# Project name that is displayed on the top bar of each page
name = MeshChat
# HTML title that is appended to every page. If not defined, name is used.
title = MeshChat
title = MeshChat (master)
# A list of files or directories for LuaDox to parse. Globs are supported.
# This can be spread across multiple lines if you want, as long as the
# other lines are indented.
files = meshchat*
#files = /data/src/data/www/cgi-bin/meshchat.lua /data/src/data/www/cgi-bin/meshchatlib.lua
# The directory containing the rendered output files, which will be created
# if necessary.
outdir = doc
outdir = _site
# Path to a custom css file that will be included on every page. This will
# be copied into the outdir.
# css = custom.css
Expand All @@ -20,4 +20,10 @@ outdir = doc
follow = false
# Character encoding for input files, which defaults to the current system
# locale. Output files are always utf8.
encoding = utf8
encoding = utf8

[manual]
index = README.md
install = docs/Install.md
history = docs/History.md
troubleshoot = docs/Troubleshooting.md
2 changes: 1 addition & 1 deletion meshchat
Original file line number Diff line number Diff line change
Expand Up @@ -797,7 +797,7 @@ end
-- ## API Response
--
-- The list of nodes and ports seperated by a tab.

--
-- @example
-- node1 8080
-- node2 8080
Expand Down
3 changes: 2 additions & 1 deletion meshchatconfig.lua
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@
--]]

--- @module meshchatconfig
---
-- @module meshchatconfig
-- @section MeshChat Configuration

--- Base directory to store all MeshChat generated files
Expand Down

0 comments on commit ec52e08

Please sign in to comment.