write incoming links

This commit is contained in:
sejo 2021-06-16 13:40:20 -05:00
parent cbb50dcca0
commit b363a6945e
17 changed files with 43 additions and 93 deletions

View File

@ -5,8 +5,8 @@ import shutil
def filename2Wikilink( s ): def filename2Wikilink( s ):
return '{' + s.replace('_',' ').replace('.gmo','') + '}' return '{' + s.replace('_',' ').replace('.gmo','') + '}'
def wikilink2Filename( s ): def wikilink2Filename( s, ext='.gmi' ):
return s.strip("{}").replace(' ','_') + '.gmi' return s.strip("{}").replace(' ','_') + ext
os.chdir('src/') os.chdir('src/')
@ -17,27 +17,50 @@ for filename in os.listdir():
# copy to tmp # copy to tmp
shutil.copy(filename, '../tmp/'+filename) shutil.copy(filename, '../tmp/'+filename)
# convert filename to wikilink # if filename != 'pages.gmo' and filename != 'index.gmo':
wikilink=filename2Wikilink(filename) if filename != 'pages.gmo':
# convert filename to wikilink
wikilink=filename2Wikilink(filename)
if wikilink not in incoming:
incoming[wikilink] = set()
# open file and search for all outgoing links # open file and search for all outgoing links
file = open(filename) file = open(filename)
for line in file: for line in file:
m=re.search("\{.+\}",line) m=re.search("\{.+\}",line)
if m: if m:
match = m.group(0) # get matched string match = m.group(0) # get matched string
if match not in incoming: # create a new set for that page if match not in incoming: # create a new set for that page
incoming[match] = set() incoming[match] = set()
# add this file # add this file
incoming[match].add(wikilink) incoming[match].add(wikilink)
file.close() file.close()
os.chdir('../tmp/') os.chdir('../tmp/')
# remove incoming links for:
# incoming.pop('{pages}')
incoming.pop('{index}')
incoming.pop('{license}')
for key,links in incoming.items(): for key,links in incoming.items():
filename = wikilink2Filename(key) # get filename for key
if filename != 'pages.gmo' and filename != 'index.gmo': filename = wikilink2Filename(key,'.gmo')
print( '## incoming links' ) print(key)
# open file in append mode
file = open(filename, 'a')
if len(links):
# write incoming links
# print( '## incoming links' )
print( '{} incoming links\n'.format( len(links) ) )
file.write("\n\n## incoming links\n")
for link in links: for link in links:
print('=> {} {}'.format(wikilink2Filename(link), link) ) gemlink = '=> {} {}'.format(wikilink2Filename(link), link)
print('') # print(gemlink)
file.write(gemlink+"\n")
else:
print( 'orphan\n' )
file.write("\n\nno incoming links\n")
file.close()

View File

@ -47,8 +47,3 @@ justo cuando eso sucede, la persona-entrada empezará a ver y seguir a la person
la persona-escritora, paso a paso, pulso a pulso, da las señales de alto o bajo a escribir, hasta llegar al corte. la persona-escritora, paso a paso, pulso a pulso, da las señales de alto o bajo a escribir, hasta llegar al corte.
y así, paso a paso, pulso a pulso, poco a poco, el ciclo ahora tendrá un nuevo dato. y así, paso a paso, pulso a pulso, poco a poco, el ciclo ahora tendrá un nuevo dato.
## llega(n) aquí
=> ./las_danzas.gmi {las danzas}

View File

@ -38,7 +38,3 @@ deep adaptation agenda, the 4 Rs:
=> https://deepgreenresistance.org/ deep green resistance => https://deepgreenresistance.org/ deep green resistance
=> https://stopfossilfuels.org/ stop fossil fuels => https://stopfossilfuels.org/ stop fossil fuels
=> http://viznut.fi/texts-en/permacomputing.html permacomputing | viznut => http://viznut.fi/texts-en/permacomputing.html permacomputing | viznut
## incoming links
=> ./about.gmi {about}

View File

@ -42,7 +42,3 @@ the booklet contains three series of computers: computers that compare, computer
CC-BY-SA 4.0 CC-BY-SA 4.0
for the print and cut zine: print double-sided, cut in half, fold the pages and assemble for the print and cut zine: print double-sided, cut in half, fold the pages and assemble
## incoming links
=> ./talks_and_workshops.gmi {talks and workshops}

View File

@ -93,9 +93,3 @@ esto no sucede así ni en NOR ni en NAND. en su caso, hay que agregar un NOT ent
una compuerta AND es equivalente a una compuerta NOR con sus entradas negadas. una compuerta AND es equivalente a una compuerta NOR con sus entradas negadas.
una compuerta OR es equivalente a una compuerta NAND con sus entradas negadas. una compuerta OR es equivalente a una compuerta NAND con sus entradas negadas.
## incoming links
=> ./danzas_compuertas.gmi {danzas compuertas}
=> ./logiteca.gmi {logiteca}

View File

@ -80,6 +80,3 @@ si la tabla no tiene una respuesta, entonces la máquina se detiene. el cómputo
próximamente próximamente
## llega(n) aquí
=> ./las_danzas.gmi {las danzas}

View File

@ -193,7 +193,3 @@ usando las palabras clave (mnemónicos) para indicar los códigos de operación,
* 5: FIN 0 (fin del programa) * 5: FIN 0 (fin del programa)
(esta forma de programar es a la que se refiere la práctica de {s-camino}) (esta forma de programar es a la que se refiere la práctica de {s-camino})
## llega(n) aquí
=> ./las_danzas.gmi {las danzas}

View File

@ -31,9 +31,3 @@ aquí un diagrama animado que muestra un par de ciclos de memoria como entrada a
el resultado del full-adder está conectado a otro ciclo de memoria. todos los componentes conformados por personas. el resultado del full-adder está conectado a otro ciclo de memoria. todos los componentes conformados por personas.
=> https://ipfs.io/ipfs/QmSKnbCUGj3FR5hRG5UAgfXxjyp7aTQoRCeJ9G4MENxNNG/20190718-sumadanza_600.gif suma danza (gif, 187KB ) => https://ipfs.io/ipfs/QmSKnbCUGj3FR5hRG5UAgfXxjyp7aTQoRCeJ9G4MENxNNG/20190718-sumadanza_600.gif suma danza (gif, 187KB )
## llega(n) aquí
=> ./las_danzas.gmi {las danzas}
=> ./compuertas.gmi {compuertas}
=> ./logiteca.gmi {logiteca}

View File

@ -72,7 +72,3 @@ etc...
siempre se descartan los 2 símbolos/movimientos del inicio, pero la cantidad de símbolos/movimientos que se agregan al final cambian de acuerdo a la regla de producción. siempre se descartan los 2 símbolos/movimientos del inicio, pero la cantidad de símbolos/movimientos que se agregan al final cambian de acuerdo a la regla de producción.
esta dinámica de respuestas a partir de esa secuencia inicial, eventualmente termina descartando a la secuencia completa. esta dinámica de respuestas a partir de esa secuencia inicial, eventualmente termina descartando a la secuencia completa.
## llega(n) aquí
=> ./las_danzas.gmi {las danzas}

View File

@ -51,7 +51,3 @@ Te invito a respirar de nuevo. A moverte con cómo te sientes ahora.
Te invito a acompañarnos en esta búsqueda. Te invito a acompañarnos en esta búsqueda.
Está bien si todavía no es el momento. Ya sabes dónde me encuentro. Está bien si todavía no es el momento. Ya sabes dónde me encuentro.
## incoming links
=> ./collapse.gmi {collapse}

View File

@ -40,7 +40,3 @@ premiere invite:
an implementation of the máquina universal bailable {mub} an implementation of the máquina universal bailable {mub}
dance accompanied by {the rite of computing} dance accompanied by {the rite of computing}
## llega(n) aquí
=> ./the_rite_of_computing.gmi {the rite of computing}

View File

@ -13,7 +13,3 @@ for a while it was seen as the closure of this project, and a recap of its histo
now it is seen as a new beginning. now it is seen as a new beginning.
=> ./talks_and_workshops.gmi {talks and workshops} => ./talks_and_workshops.gmi {talks and workshops}
## incoming links
=> ./about.gmi {about}

View File

@ -280,9 +280,3 @@ nor C12(r, p7, p8, p9, p10);
endmodule endmodule
``` ```
## incoming links
=> ./danzas_compuertas.gmi {danzas compuertas}
=> ./coloring_computers.gmi {coloring computers}

View File

@ -13,8 +13,3 @@ próximamente
una versión de la máquina universal bailable se presentó como acto escénico una versión de la máquina universal bailable se presentó como acto escénico
=> ./la_consagración_de_la_computadora.gmi {la consagración de la computadora} => ./la_consagración_de_la_computadora.gmi {la consagración de la computadora}
## llega(n) aquí
=> ./las_danzas.gmi {las danzas}
=> ./la_consagración_de_la_computadora.gmi {la consagración de la computadora}

View File

@ -99,8 +99,3 @@ probemos con secuencias de diferente longitud, a diferentes velocidades, y tambi
¿llega a suceder que detectamos un error? ¿llega a suceder que detectamos un error?
¿qué pasa cuando hay dos errores en la comunicación? ¿es posible que el sistema no lo detecte? ¿qué pasa cuando hay dos errores en la comunicación? ¿es posible que el sistema no lo detecte?
## llega aquí:
=> ./las_danzas.gmi {las danzas}

View File

@ -22,7 +22,3 @@ compudanzas workshop in cuna school
{coloring computers} workshop in the processing community day nyc {coloring computers} workshop in the processing community day nyc
=> https://processing.nyc/2019/#workshops processing community day nyc 2019 => https://processing.nyc/2019/#workshops processing community day nyc 2019
## incoming links
=> ./log.gmi {log}

View File

@ -284,8 +284,3 @@ CC BY-SA 4.0
=> https://itp.nyu.edu/adjacent/issue-5/the-rite-of-computing/ the rite of computing (la consagración de la computadora) - ADJACENT Issue 5 (web) => https://itp.nyu.edu/adjacent/issue-5/the-rite-of-computing/ the rite of computing (la consagración de la computadora) - ADJACENT Issue 5 (web)
text accompanied by {la consagración de la computadora} text accompanied by {la consagración de la computadora}
## incoming links
=> ./poetry.gmi {poetry}
=> ./la_consagración_de_la_computadora.gmi {la consagración de la computadora}