mirror of
https://github.com/becarpenter/book6.git
synced 2024-05-07 02:54:53 +00:00
Work in progress on PDF generation
This commit is contained in:
@@ -1,7 +1,9 @@
|
|||||||
## CERN and the LHC
|
## CERN and the LHC
|
||||||
|
|
||||||
The [CERN laboratory](https://www.cern.ch) and the [Worldwide LHC Computing Grid (WLCG)](https://home.cern/science/computing/grid) are large users of IPv6 for massive data transfers.
|
The [CERN laboratory](https://www.cern.ch) and the [Worldwide LHC Computing Grid (WLCG)](https://home.cern/science/computing/grid) are large users of IPv6 for massive data transfers.
|
||||||
Some recent statistics are shown here:<img src="./CERN-IPv6-Feb24.png" alt="Graph showing 644 Gb/s">
|
Some recent statistics are shown here:
|
||||||
|
|
||||||
|
<img src="./CERN-IPv6-Feb24.png" alt="Graph showing 644 Gb/s">
|
||||||
|
|
||||||
(Image from the February 2024 data challenge at CERN.)
|
(Image from the February 2024 data challenge at CERN.)
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# book6
|
# book6
|
||||||
<img src="./book6logo.png" alt="book6 logo" width="200px" height="auto"/>
|

|
||||||
|
|
||||||
<ins>A collaborative IPv6 book.<ins>
|
<ins>A collaborative IPv6 book.<ins>
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
This folder `pdf` is used for generating a complete PDF file of book6 and is not otherwise interesting.
|
This folder `pdf` is used for generating a complete PDF file of book6 and is not otherwise interesting.
|
||||||
|
|
||||||
|
As of 2024-04-04 the contents of this folder are work-in-progress and not useful to readers.
|
||||||
|
|
||||||
The image files are duplicated here intentionally.
|
The image files are duplicated here intentionally.
|
||||||
|
|
||||||
The intermediate file `baked.md` is a complete markdown of the whole book.
|
The intermediate file `baked.md` is a complete markdown of the whole book.
|
||||||
+14
-14
@@ -1,5 +1,5 @@
|
|||||||
# book6
|
# book6
|
||||||
<img src="./book6logo.png" alt="book6 logo" width="200px" height="auto"/>
|

|
||||||
|
|
||||||
<ins>A collaborative IPv6 book.<ins>
|
<ins>A collaborative IPv6 book.<ins>
|
||||||
|
|
||||||
@@ -26,10 +26,10 @@ Released under the Creative Commons Attribution 4.0 license, known as CC BY 4.0.
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Version captured at 2024-04-03 13:53:33 UTC+1300
|
Version captured at 2024-04-04 10:59:19 UTC+1300
|
||||||
<!-- page break -->
|
<!-- page break -->
|
||||||
# book6: A Collaborative IPv6 Book.
|
# book6: A Collaborative IPv6 Book.
|
||||||
<img src="./book6logo.png" alt="book6 logo" width="200px" height="auto"/>
|

|
||||||
|
|
||||||
This is the current list of contents. It will change as the book evolves.
|
This is the current list of contents. It will change as the book evolves.
|
||||||
There is also an [index](#book6-main-index),
|
There is also an [index](#book6-main-index),
|
||||||
@@ -2375,7 +2375,7 @@ various technologies:
|
|||||||
and comparison of these technologies.
|
and comparison of these technologies.
|
||||||
|
|
||||||
The following figure illustrates such a scenario.
|
The following figure illustrates such a scenario.
|
||||||
<img src="./vasilenko-IPv4aaS.svg" alt="User devices connected to Internet via IPv6 infrastructure" width="auto" height="auto"/>
|

|
||||||
|
|
||||||
- 464XLAT is the widely preferred translation technology now because it
|
- 464XLAT is the widely preferred translation technology now because it
|
||||||
has a natural synergy with NAT64 (which is highly desirable by itself)
|
has a natural synergy with NAT64 (which is highly desirable by itself)
|
||||||
@@ -3432,7 +3432,7 @@ addresses `2001:db8:abcd:0101::abc1` and `2001:db8:b123:0101::def2`.
|
|||||||
values.)
|
values.)
|
||||||
|
|
||||||
The following diagram shows the example:
|
The following diagram shows the example:
|
||||||
<img src="./multiPrefix.svg" alt="Routers and routing clouds as described above">
|

|
||||||
If, for some reason, there is more than one subnet router on the subnet,
|
If, for some reason, there is more than one subnet router on the subnet,
|
||||||
the host can be informed which one to use as suggested in
|
the host can be informed which one to use as suggested in
|
||||||
[RFC8028](https://www.rfc-editor.org/info/rfc8028).
|
[RFC8028](https://www.rfc-editor.org/info/rfc8028).
|
||||||
@@ -3760,7 +3760,7 @@ fine.
|
|||||||
## CERN and the LHC
|
## CERN and the LHC
|
||||||
|
|
||||||
The [CERN laboratory](https://www.cern.ch) and the [Worldwide LHC Computing Grid (WLCG)](https://home.cern/science/computing/grid) are large users of IPv6 for massive data transfers.
|
The [CERN laboratory](https://www.cern.ch) and the [Worldwide LHC Computing Grid (WLCG)](https://home.cern/science/computing/grid) are large users of IPv6 for massive data transfers.
|
||||||
Some recent statistics are shown here:<img src="./CERN-IPv6-Feb24.png" alt="Graph showing 644 Gb/s">
|
Some recent statistics are shown here:
|
||||||
|
|
||||||
(Image from the February 2024 data challenge at CERN.)
|
(Image from the February 2024 data challenge at CERN.)
|
||||||
|
|
||||||
@@ -3823,7 +3823,7 @@ Internet Registry (RIR) to show the number of the Internet IPv6 users
|
|||||||
compared with the total Internet population (in million, see next
|
compared with the total Internet population (in million, see next
|
||||||
table).
|
table).
|
||||||
|
|
||||||
<img src="./Section5_Table1.jpg" alt="Table shows 25% annual IPv6 growth 2018 to 2022">
|

|
||||||
|
|
||||||
A third of the Internet population apparently employs IPv6. It is also
|
A third of the Internet population apparently employs IPv6. It is also
|
||||||
interesting to look at the growth curve. The main indicator here is the
|
interesting to look at the growth curve. The main indicator here is the
|
||||||
@@ -3851,7 +3851,7 @@ have an associated Autonous System Number (ASN).
|
|||||||
provides statistics on the evolution of IPv6 support across the ASNs in
|
provides statistics on the evolution of IPv6 support across the ASNs in
|
||||||
the world, as observed in the Internet routing tables.
|
the world, as observed in the Internet routing tables.
|
||||||
|
|
||||||
<img src="./Section5_Table2.jpg" alt="Table shows 18% annual IPv6 growth 2018 to 2022">
|

|
||||||
|
|
||||||
The percentage of IPv6-capable ASNs is growing over the years, which is
|
The percentage of IPv6-capable ASNs is growing over the years, which is
|
||||||
a good sign. On the other hand, the table does not allow to understand
|
a good sign. On the other hand, the table does not allow to understand
|
||||||
@@ -4126,7 +4126,7 @@ flowchart LR
|
|||||||
C - -> B[BCP] - -> L
|
C - -> B[BCP] - -> L
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<img src="./rfc-diagram.svg" width=800 alt="Diagram of RFC status">
|

|
||||||
|
|
||||||
An important RFC is the latest version of
|
An important RFC is the latest version of
|
||||||
[IPv6 Node Requirements](https://www.rfc-editor.org/info/bcp220), which
|
[IPv6 Node Requirements](https://www.rfc-editor.org/info/bcp220), which
|
||||||
@@ -4168,7 +4168,7 @@ flowchart LR
|
|||||||
D - -> X[draft-xyz-*] - -> P[Personal work] - -> J
|
D - -> X[draft-xyz-*] - -> P[Personal work] - -> J
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<img src="./id-diagram.svg" width=800 alt="Diagram of I-D status">
|

|
||||||
|
|
||||||
There are also numerous books, book chapters, and other documents about
|
There are also numerous books, book chapters, and other documents about
|
||||||
IPv6. However, any source that is more than one or two years old is
|
IPv6. However, any source that is more than one or two years old is
|
||||||
@@ -5435,7 +5435,7 @@ Embedded in markdown as an SVG file generated by [*mermaid.live*](https://mermai
|
|||||||
|
|
||||||
Displayed thus:
|
Displayed thus:
|
||||||
|
|
||||||
<img src="./example1.svg" width=250 alt="Start here, end here">
|

|
||||||
|
|
||||||
Example generated with *dia*:
|
Example generated with *dia*:
|
||||||
|
|
||||||
@@ -5443,7 +5443,7 @@ Example generated with *dia*:
|
|||||||
<img src="./diag.svg" alt="Disk feeding tape">
|
<img src="./diag.svg" alt="Disk feeding tape">
|
||||||
```
|
```
|
||||||
|
|
||||||
<img src="./diag.svg" alt="Disk feeding tape">
|

|
||||||
|
|
||||||
Please add alternate text to help people with visual difficulties.
|
Please add alternate text to help people with visual difficulties.
|
||||||
|
|
||||||
@@ -5467,7 +5467,7 @@ Section text goes here
|
|||||||
### [<ins>Previous</ins>](#markdown-usage) [<ins>Chapter Contents</ins>](#chapter-template)
|
### [<ins>Previous</ins>](#markdown-usage) [<ins>Chapter Contents</ins>](#chapter-template)
|
||||||
<!-- page break -->
|
<!-- page break -->
|
||||||
# book6 Main Index
|
# book6 Main Index
|
||||||
<img src="./book6logo.png" alt="book6 logo" width="200px" height="auto"/>
|

|
||||||
|
|
||||||
Generated at 2024-02-25 14:10:55 UTC+1300
|
Generated at 2024-02-25 14:10:55 UTC+1300
|
||||||
|
|
||||||
@@ -5944,7 +5944,7 @@ If you think any keywords are missing, please raise an issue (use link on GitHub
|
|||||||
|
|
||||||
### [<ins>Back to main Contents</ins>](#list-of-contents)<!-- page break -->
|
### [<ins>Back to main Contents</ins>](#list-of-contents)<!-- page break -->
|
||||||
# book6 Citation Index
|
# book6 Citation Index
|
||||||
<img src="./book6logo.png" alt="book6 logo" width="200px" height="auto"/>
|

|
||||||
|
|
||||||
Generated at 2024-02-25 14:10:55 UTC+1300
|
Generated at 2024-02-25 14:10:55 UTC+1300
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
+22
-1
@@ -10,6 +10,7 @@
|
|||||||
# Version: 2024-01-18 - skip code blocks when fixing citations
|
# Version: 2024-01-18 - skip code blocks when fixing citations
|
||||||
# Version: 2024-01-29 - use dedicated pdf directory
|
# Version: 2024-01-29 - use dedicated pdf directory
|
||||||
# Version: 2024-04-02 - copy image files to pdf directory
|
# Version: 2024-04-02 - copy image files to pdf directory
|
||||||
|
# Version: 2024-04-04 - change image citations to suit pandoc
|
||||||
|
|
||||||
########################################################
|
########################################################
|
||||||
# Copyright (C) 2024 Brian E. Carpenter.
|
# Copyright (C) 2024 Brian E. Carpenter.
|
||||||
@@ -118,7 +119,7 @@ def uncase(l):
|
|||||||
return u
|
return u
|
||||||
|
|
||||||
def fix_section(raw):
|
def fix_section(raw):
|
||||||
"""Change citations throughout a section"""
|
"""Change citations and images throughout a section"""
|
||||||
new = []
|
new = []
|
||||||
skipping = False
|
skipping = False
|
||||||
for line in raw:
|
for line in raw:
|
||||||
@@ -137,6 +138,7 @@ def fix_section(raw):
|
|||||||
new.append(line)
|
new.append(line)
|
||||||
continue
|
continue
|
||||||
if "](" in line:
|
if "](" in line:
|
||||||
|
#need to reformat citation
|
||||||
outline = ""
|
outline = ""
|
||||||
while "](" in line:
|
while "](" in line:
|
||||||
head, line = line.split("](", maxsplit=1)
|
head, line = line.split("](", maxsplit=1)
|
||||||
@@ -163,6 +165,25 @@ def fix_section(raw):
|
|||||||
target = "book6-citation-index"
|
target = "book6-citation-index"
|
||||||
outline += head + "](#" + target +")"
|
outline += head + "](#" + target +")"
|
||||||
outline += line
|
outline += line
|
||||||
|
elif "<img src=" in line:
|
||||||
|
#need to munge image reference (lazy, only handles the first one)
|
||||||
|
head, tail = line.split("<img src=", maxsplit=1)
|
||||||
|
#print(head, tail)
|
||||||
|
try:
|
||||||
|
img, tail = tail.split("/>", maxsplit=1)
|
||||||
|
except:
|
||||||
|
img, tail = tail.split(">", maxsplit=1)
|
||||||
|
img = img.replace("'", '"') #normalise string delimiters to "
|
||||||
|
imgfile, imgalt = img[1:].split('"', maxsplit=1)
|
||||||
|
imgfile = imgfile.replace("./", "") #normalise image file name
|
||||||
|
# extract alternative text
|
||||||
|
try:
|
||||||
|
_, imgalt = imgalt.split('alt="', maxsplit=1)
|
||||||
|
imgalt, _ = imgalt.split('"', maxsplit=1)
|
||||||
|
except:
|
||||||
|
imgalt = "No description available"
|
||||||
|
#build image citation
|
||||||
|
outline = head+''+tail
|
||||||
else:
|
else:
|
||||||
outline = line
|
outline = line
|
||||||
#Avoid unwanted anchors
|
#Avoid unwanted anchors
|
||||||
|
|||||||
Reference in New Issue
Block a user