Giter Site home page Giter Site logo

malgam / build.jermolene.github.io Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jermolene/build.jermolene.github.io

0.0 2.0 0.0 21 KB

Build and release tools for updating tiddlywiki.com

License: BSD 3-Clause "New" or "Revised" License

Shell 100.00%

build.jermolene.github.io's Introduction

These scripts are used to build and release the content for tiddlywiki.com. They are not designed for general purpose use โ€“ they resolve problems that are specific to the task of building tiddlywiki.com: pushing to GitHub Pages, handling the prerelease builds and bumping version numbers.

Nonetheless, you may find techniques that are useful for your own scripts.

Hosting

http://tiddlywiki.com is served by GitHub Pages from the repository https://github.com/Jermolene/jermolene.github.io

The scripts live in the repository https://github.com/Jermolene/build.jermolene.github.io

Directory structure

These scripts require the following directories to be siblings:

The scripts are designed to be executed with the current directory being the TiddlyWiki5 directory.

Configuration

package.json

The package.json in the root of the build.jermolene.github.io repository contains a dependency declaration that specifies the latest official released version of TiddlyWiki to be used when building the release targets:

  "dependencies": {
    "tiddlywiki": "5.1.2"
  }

Environment variables

Some of the scripts use the following environment variables:

  • TW5_BUILD_MAIN_EDITION - the path to the wiki folder to be used as the main edition, generating index.html and encrypted.html
  • TW5_BUILD_OUTPUT - the path to the output folder (defaults to ../jermolene.github.io)
  • TW5_BUILD_TIDDLYWIKI - the pathname of the tiddlywiki.js to be used (defaults to ../build.jermolene.github.io/node_modules/tiddlywiki/tiddlywiki.js)

Scripts

bld.sh

Builds the tiddlywiki.com target files. By default, it uses the version of tiddlywiki specified in the package.json file. This can be overridden with the TW5_BUILD_TIDDLYWIKI environment variable. The following command would select the latest prerelease version of tiddlywiki from the TiddlyWiki5 directory:

    TW5_BUILD_TIDDLYWIKI=./tiddlywiki.js

readme-bld.sh

Builds the readme files for the TiddlyWiki5 and build.jermolene.github.io repos using the released version of TiddlyWiki specified in package.json.

prerelease-bld.sh

Builds the tiddlywiki.com/prerelease target files using the latest TiddlyWiki prerelease code and special prerelease edition for the content.

github-push.sh

Pushes the latest changes to the jermolene.github.io directory to GitHub.

dev-bld.sh

Builds the dev prerelease edition.

quick-bld.sh

Builds the prerelease prerelease edition.

tiddlyspace-upload.sh

Builds the tw5tiddlyweb edition and uploads it to TiddlySpace.

verbump.sh

Bumps the version number of the package.json in the TiddlyWiki5 repo and applies the correct version tag to the repo.

npm-publish.sh

Publishes the TiddlyWiki5 repo to npm.

Procedures

Releasing a new version of TiddlyWiki

  1. Move the latest release note from the prerelease edition into the tw5.com edition
  2. Adjust the release date and the released field of the latest release tiddler (eg, Release 5.1.3)
  3. Ensure TiddlyWiki Releases has the new version as the default tab
  4. Adjust the modified time of HelloThere
  5. Make sure Jermolene/TiddlyWiki5 is fully committed
  6. Edit package.json to the new version number
  7. Run ../build.jermolene.github.io/readme-bld.sh to build the readme files
  8. Commit the new readme files in TiddlyWiki5
  9. Restore package.json to the previous version number
  10. Run ../build.jermolene.github.io/verbump "5.1.3" (substituting the correct version number) to update the version number, assign it a tag
  11. Run ../build.jermolene.github.io/npm-publish.sh to publish the release to npm
  12. Update the package.json for build.jermolene.github.io to the new version
  13. Verify that the new release of TiddlyWiki is available at https://www.npmjs.org/package/tiddlywiki
  14. Change current directory to the build.jermolene.github.io directory
  15. Run npm install to install the correct version of TiddlyWiki
  16. Change current directory to the TiddlyWiki5 directory
  17. Run ../build.jermolene.github.io/bld.sh to build the content files
  18. Verify that the files in the jermolene.github.io directory are correct
  19. Run ../build.jermolene.github.io/github-push.sh to push the new files to GitHub
  20. Run ../build.jermolene.github.io/tiddlyspace-upload.sh <username> <password> to upload the release to TiddlySpace
  21. Tweet the release with the text "TiddlyWiki v5.x.x released to http://tiddlywiki.com #newtiddlywikirelease"
  22. Preparation for the next release:
    1. Adjust version number in $:/config/OfficialPluginLibrary
    2. Adjust version number in https://github.com/Jermolene/build.jermolene.github.io in prerelease-bld.sh, bld.sh and make-library-bld.sh

Releasing new content for TiddlyWiki

  1. Change current directory to the TiddlyWiki5 directory
  2. Run ../build.jermolene.github.io/bld.sh to build the content files
  3. Run ../build.jermolene.github.io/readme-bld.sh to build the readmes
  4. Commit the readmes to TiddlyWiki5 and build.jermolene.github.io if necessary
  5. Verify that the files in the jermolene.github.io directory are correct
  6. Run ../build.jermolene.github.io/github-push.sh to push the new files to GitHub

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.