Handy guide for republishing a DNOTE with Echidna

Username: Password:

Find codes for doc:

 

Show setup details

Setting up

To publish a document, you'll need to add the following shell script to your system and set the PATH variable to point to it.

#!/bin/bash

display_usage() {
  echo "This script creates a tar (/tmp/spec.tar) from a manifest."
  echo -e "\nUsage: $0 MANIFEST_URL \n" 
}

urlencode() {
    # urlencode 

    old_lc_collate=$LC_COLLATE
    LC_COLLATE=C

    local length="${#1}"
    for (( i = 0; i < length; i++ )); do
        local c="${1:$i:1}"
        case $c in
            [a-zA-Z0-9.~_-]) printf '%s' "$c" ;;
            *) printf '%%%02X' "'$c" ;;
        esac
    done

    LC_COLLATE=$old_lc_collate
}

if [ $# -ne 1 ]; then display_usage; exit 1; fi

MANIFEST=$1

BASE="`dirname $MANIFEST`"
TAR="/tmp/spec.tar"
IFS=$'\n'

if [ -f $TAR ]; then rm $TAR; fi
FILES=`curl -s $MANIFEST | grep -v -E '(#|^$)'`
INDEX=`echo "$FILES" | head -1 | sed -e 's/ .*$//'`
echo $INDEX
(cd /tmp
url=`urlencode "$BASE/$INDEX"`
curl -s "https://labs.w3.org/spec-generator/?type=respec&url=$url" > /tmp/Overview.html
tar -cvf $TAR Overview.html
for i in `echo "$FILES" | tail -n +2`; do
  echo $i
  d=`dirname $i`
  if [ ! -d $d ]; then mkdir -p $d; fi
  curl -s "$BASE/$i" --output $i
  tar -rvf $TAR $i
done

)

You should call this script manifest2tar.sh.

The process below will use this shell script to create a ready-to-publish version of the document at /tmp/spec.tar (overwriting any existing file), and then use CURL to publish that file to /TR.

Steps:

  1. Check that the echidna manifest is up-to-date for images, etc. To do this you'll need to scan the rendered page, because new images may have been added in the GH issues, or export the HTML and use the manifest tool to list items needed.
  2. Upload ED to GH
  3. Run the Link checker
  4. Run the HTML validator
  5. Run the CSS validator
  6. Run the the pubrules checker
    1. Check the Profile is correctly set.
    2. Check that 'Not on rec-track' and 'Echidna-ready' are selected.
    3. Ignore file not found error for local.css.
  7. Fix issues.
  8. Open terminal window and run this to create a TAR file in /tmp/spec.tar:
  9. In terminal window run the curl parameter here:
  10. Check for success at the notification page.

Manifest tool

Paste the whole source code of the document here. (For documents that are built via scripts, use Firefox: open page, use Cmd-A to select whole content, right-click and select View Selection Source, then Cmd-A again selects all source text. Paste that below.)

Copy any useful lines to the echidna manifest file.

Useful links