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 ):
return '{' + s.replace('_',' ').replace('.gmo','') + '}'
def wikilink2Filename( s ):
return s.strip("{}").replace(' ','_') + '.gmi'
def wikilink2Filename( s, ext='.gmi' ):
return s.strip("{}").replace(' ','_') + ext
os.chdir('src/')
@ -17,27 +17,50 @@ for filename in os.listdir():
# copy to tmp
shutil.copy(filename, '../tmp/'+filename)
# convert filename to wikilink
wikilink=filename2Wikilink(filename)
# if filename != 'pages.gmo' and filename != 'index.gmo':
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
file = open(filename)
for line in file:
m=re.search("\{.+\}",line)
if m:
match = m.group(0) # get matched string
if match not in incoming: # create a new set for that page
incoming[match] = set()
# add this file
incoming[match].add(wikilink)
file.close()
# open file and search for all outgoing links
file = open(filename)
for line in file:
m=re.search("\{.+\}",line)
if m:
match = m.group(0) # get matched string
if match not in incoming: # create a new set for that page
incoming[match] = set()
# add this file
incoming[match].add(wikilink)
file.close()
os.chdir('../tmp/')
# remove incoming links for:
# incoming.pop('{pages}')
incoming.pop('{index}')
incoming.pop('{license}')
for key,links in incoming.items():
filename = wikilink2Filename(key)
if filename != 'pages.gmo' and filename != 'index.gmo':
print( '## incoming links' )
# get filename for key
filename = wikilink2Filename(key,'.gmo')
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:
print('=> {} {}'.format(wikilink2Filename(link), link) )
print('')
gemlink = '=> {} {}'.format(wikilink2Filename(link), link)
# 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.
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://stopfossilfuels.org/ stop fossil fuels
=> 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
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 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
## 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)
(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.
=> 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.
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.
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}
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.
=> ./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
```
## 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
=> ./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?
¿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
=> 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)
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}