Files
11ty/README.md

2.1 KiB

11ty Template

Template repository for my 11ty projects.

full drone/submodule setup from scratch

1. create repo

in heckin gitea, create destination repo.

2. add dronefile to source repo

Filename: .drone.yml, in root of repo. Note the <> vars to replace.

kind: pipeline
type: docker
name: default

steps:
  - name: build
    image: node:current
    environment:
      REPOSITORY: <dest-repo>
      GIT_USER: <username>
      GIT_TOKEN:
        from_secret: GIT_TOKEN
    commands:
      - git config credential.helper '!f() { echo username=$GIT_USER; echo "password=$GIT_TOKEN"; };f'
      - git submodule update --remote --init --merge
      - npm install
      - npm run build
      - apt-get update && apt-get install -y rsync
      - rsync -uavh _site/ $REPOSITORY --delete --exclude .git
      - cd $REPOSITORY
      - git checkout main
      - git config --global --add safe.directory /drone/src/$REPOSITORY
      - git add -A
      - git commit -m "drone build $(TZ=':America/Los_Angeles' date)"
      - git push

3. create PAT

in heckin, go to settings > applications, and create a PAT with read & write permissions to repositories.

4. activate project in drone and add PAT

in drone, find your project and activate it.

in the settings, I chose to disable pull requests and forks. I set my runner timeout to 15m.

you can set your PAT either as a project secret or an organization secret. In either case call it GIT_TOKEN.

5. first commit to submodule

assuming we are committing the _site folder...

cp -r _site ../temp
cd ../temp

git init
git add -A
git commit -m "first"

git remote add origin <remote-url>
git push -u origin main

6. add submodule to local repo

in root dir of local repo, add the submodule.

git submodule add <remote-url>

if you used the SSH url, set it to the HTTPS url.

git submodule set-url <remote-url-https>
git add .gitmodules # the changes from submodule add are auto-staged, this config change isn't

commit your changes and push.

git commit -m "add submodule"

(commit your dronefile changes too.)

7. profit

if it doesn't work, cry