about summary refs log blame commit diff stats
path: root/update_html
blob: 1a13f655f0ed909e92af3044acfbb9cd172c6c13 (plain) (tree)
1
2
3
4
5
6
7
8
9
           

                        

      


                                       
           
                    




                                        

                                                     
                
                                                   
 
                                                
                                             


                                                                    

                                                                   
 

                                                  





                                                                                           


                                 




                                                                       
 




                               
 




                                    
 






                                         
 


                                                                                                         
                  


            
 







                                      


                              




                    
                         
  


                                                


            
            
                      
#!/bin/bash
# Regenerate html files.

set -e

( cd linkify; build; )

# generate html/$1.html using /tmp/tags
process() {
  rm -f html/$1.html
  convert_html $1
  linkify/linkify /tmp/tags html/$1.html
  mv html/$1.html.out html/$1.html
}

URL_BASE='https://github.com/akkartik/mu/blob/master'

convert_html() {
  vim -c "set number" -c TOhtml -c write -c qall $1

  sed -i 's,<title>.*/mu/,<title>Mu - ,' $1.html
  sed -i 's,\.html</title>,</title>,' $1.html

  sed -i "/^<body/a <a href='$URL_BASE/$1'>$URL_BASE/$1</a>" $1.html

  sed -i 's/^\* { \(.*\) }/* { font-size:12pt; \1 }/g' $1.html
  sed -i 's/^body { \(.*\) }/body { font-size:12pt; \1 }/g' $1.html

  sed -i '/^body {/a a { color:inherit; }' $1.html

  # switch unicode characters around in the rendered html
  #   the ones we have in the source files render double-wide in html
  #   the ones we want in the html cause iTerm2 to slow down in alt-tabbing for some reason
  # the following commands give us the best of both worlds
  sed -i -e 's/┈/╌/g' -e 's/┊/╎/g' $1.html

  mv -i $1.html html/`dirname $1`
}

ctags -x *.cc  |grep -v "^operator \| member \| variable "  > /tmp/tags
for f in *.cc
do
  process $f
done

ctags -x [0-9]*.mu  > /tmp/tags
for f in [0-9]*.mu
do
  process $f
done

for f in [a-zA-Z]*.mu
do
  ctags -x [0-9]*.mu $f  > /tmp/tags
  process $f
done

( cd edit
  ctags -x ../[0-9]*.mu *.mu  > /tmp/tags
)
for f in edit/*.mu
do
  process $f
done

( cd subx
  ctags -x *.cc  |grep -v '^. '  > /tmp/tags  # don't hyperlink every 'i' to the integer register variant
)
for f in subx/*.cc
do
  process $f
done

for f in subx/examples/*.subx
do
  ( cd subx/examples
    ctags -x `basename $f` > /tmp/tags
  )
  process $f
done

( cd subx
  ctags -x *.subx  > /tmp/tags
)
for f in subx/*.subx
do
  process $f
done

for f in subx/apps/*.subx
do
  ( cd subx/apps
    ctags -x ../*.subx `basename $f` > /tmp/tags
  )
  process $f
done

rm /tmp/tags
( cd linkify; clean; )