Skip to content

Commit 40996da

Browse files
authored
Fix: Correct URL errors for Documentation pages (#214)
The URL on the Documentation page contained errors in the target URL, for example, when trying to go to "/documentation/05-User-Manual" it was only written as "/05-User-Manual." Several invalid URLs were also found on the Documentation page. - Fixed errors for Documentation 01-Printer Application - Fixed errors for Documentation 02-Designing Printer Drivers - Fixed errors for Documentation 03-Designing Scanner Drivers - Fixed errors for Documentation 04-Packaging Drivers - Fixed errors for Documentation 05-User Manual - Fixed errors for Snapcraft installation links - Replaced several static URLs "https://openprinting.github.io/documentation/05-User-Manual" with "/documentation/05-User-Manual" - Fixed several invalid URLs
1 parent 61bed7f commit 40996da

5 files changed

Lines changed: 38 additions & 38 deletions

File tree

‎contents/documentation/01-printer-application.md‎

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ The following document contains information about the history of printing and it
1111

1212
## Brief History
1313

14-
The first release of CUPS was back in 1997. <sup><a href="https://openprinting.github.io/How-did-this-all-begin/">[1]</a></sup> Since then, Printer Drivers consisted of **PPD files** and **CUPS filters**.
14+
The first release of CUPS was back in 1997. <sup><a href="/How-did-this-all-begin">[1]</a></sup> Since then, Printer Drivers consisted of **PPD files** and **CUPS filters**.
1515

1616
**PPD (PostScript Printer Description)** is a decades-old data format created by Adobe, probably together with PostScript or shortly after, to describe capabilities and user-settable options of PostScript printers and which PostScript commands to embed in the print job to execute the option settings.
1717

@@ -76,7 +76,7 @@ A **Printer Application's Web Interface** provides configurability and makes it
7676

7777
This is a complete printing stack in a Snap. It contains not only CUPS but also cups-filters, Ghostscript, and Poppler. It is everything which is required for printing, except Printer Drivers. Till Kamppeter has created this in order to provide a complete printing stack for a purely Snap-based Operating System.
7878

79-
* <strong>PAPPL <sup><a href="https://github.com/michaelrsweet/pappl/">[3]</a></sup></strong>
79+
* <strong>PAPPL <sup><a href="https://github.com/michaelrsweet/pappl">[3]</a></sup></strong>
8080

8181
Printer Applications have a lot in common. It would be a lot of re-inventing the wheel if everyone who wants to create a printer driver has to implement all this. Therefore Michael Sweet has created PAPPL, a library which provides all the common functionality which is needed in every Printer Application.
8282

@@ -90,19 +90,19 @@ A **Printer Application's Web Interface** provides configurability and makes it
9090

9191
Currently, PAPPL supports only raster printers and that too for very few specific input formats like JPEG and PNG. For adding support for non-raster printers like PDF and PostScript printers, you need to supply an external utility that converts the whole job’s data into a data stream which the printer understands. Openprinting and CUPS Filters again come to the rescue here.
9292

93-
Manufacturers can use CUPS Filters to design these external utilities and decide which set of Filters to use and the order in which these should be invoked depending upon the efficiency and input-output formats. Kindly refer to guidelines for designing of printer applications<sup> <a href="../02-designing-printer-drivers/">[4]</a></sup> for more details.
93+
Manufacturers can use CUPS Filters to design these external utilities and decide which set of Filters to use and the order in which these should be invoked depending upon the efficiency and input-output formats. Kindly refer to guidelines for designing of printer applications<sup> <a href="/documentation/02-designing-printer-drivers">[4]</a></sup> for more details.
9494

9595
* <strong>Providing Sufficient Guidance</strong>
9696

97-
OpenPrinting also helps the manufacturer about designing of printer <sup> <a href="../02-designing-printer-drivers/">[4]</a></sup> and scanner drivers.<sup><a href="../03-designing-scanner-drivers/">[5]</a></sup> It also guides them about packaging those drivers and uploading on Snap Store. <sup> <a href="../04-packaging-drivers/">[6]</a></sup> It also educated users about using Printer Application Drivers. It provides neccessary documentation and tutorial for all the above mentioned things.<sup> <a href="../05-User-Manual/">[7]</a></sup>
97+
OpenPrinting also helps the manufacturer about designing of printer <sup> <a href="/documentation/02-designing-printer-drivers">[4]</a></sup> and scanner drivers.<sup><a href="/documentation/03-designing-scanner-drivers">[5]</a></sup> It also guides them about packaging those drivers and uploading on Snap Store. <sup> <a href="/documentation/04-packaging-drivers">[6]</a></sup> It also educated users about using Printer Application Drivers. It provides neccessary documentation and tutorial for all the above mentioned things.<sup> <a href="/documentation/05-User-Manual">[7]</a></sup>
9898

9999

100100
### Manufacturer
101101

102-
The Manufacturer besides manufacturing Printers and Scanners, is also expected to design drivers for the same. They can use PAPPL<sup><a href="https://github.com/michaelrsweet/pappl/">[3]</a></sup> library which certainly reduces their task to an great extent. Also they could take help from the documentation and tutorial developed by the OpenPrinting team. <sup> <a href="../02-designing-printer-drivers/">[4]</a></sup>
103-
<sup> <a href="../03-designing-scanner-drivers/">[5]</a></sup>
102+
The Manufacturer besides manufacturing Printers and Scanners, is also expected to design drivers for the same. They can use PAPPL<sup><a href="https://github.com/michaelrsweet/pappl">[3]</a></sup> library which certainly reduces their task to an great extent. Also they could take help from the documentation and tutorial developed by the OpenPrinting team. <sup> <a href="/documentation/02-designing-printer-drivers">[4]</a></sup>
103+
<sup> <a href="/documentation/03-designing-scanner-drivers">[5]</a></sup>
104104

105-
After designing the drivers, they need to package them and Upload it to Snap Store. Again, documentation and tutorial for the same have developed by the OpenPrinting team which could be referred.<sup> <a href="../04-packaging-drivers/">[6]</a></sup>
105+
After designing the drivers, they need to package them and Upload it to Snap Store. Again, documentation and tutorial for the same have developed by the OpenPrinting team which could be referred.<sup> <a href="/documentation/04-packaging-drivers">[6]</a></sup>
106106

107107

108108
### User
@@ -111,22 +111,22 @@ The user is relieved from most of the complexities and is just required to insta
111111

112112
Further, he has the option to change his printer properties through the Web GUI provided with Printer Application.
113113

114-
The OpenPrintring team has also worked out documentation and tutorials about installing CUPS and Drivers and using Web-based GUI, making the switch to this new technology easier for all.<sup> <a href="../05-User-Manual/">[7]</a></sup>
114+
The OpenPrintring team has also worked out documentation and tutorials about installing CUPS and Drivers and using Web-based GUI, making the switch to this new technology easier for all.<sup> <a href="/documentation/05-User-Manual">[7]</a></sup>
115115

116116
## Resources
117117

118-
[1] <a href="https://openprinting.github.io/How-did-this-all-begin/">How all this began</a>
118+
[1] <a href="/How-did-this-all-begin">How all this began</a>
119119
<br>
120120
[2] <a href="https://github.com/OpenPrinting/cups-snap">CUPS Snap</a>
121121
<br>
122-
[3] <a href="https://github.com/michaelrsweet/pappl/">PAPPL</a>
122+
[3] <a href="https://github.com/michaelrsweet/pappl">PAPPL</a>
123123
<br>
124-
[4] <a href="../02-designing-printer-drivers/">Tutorial to Design Printer Drivers</a>
124+
[4] <a href="/documentation/02-designing-printer-drivers">Tutorial to Design Printer Drivers</a>
125125
<br>
126-
[5] <a href="../03-designing-scanner-drivers/">Tutorial to Design Scanner Drivers</a>
126+
[5] <a href="/documentation/03-designing-scanner-drivers">Tutorial to Design Scanner Drivers</a>
127127
<br>
128-
[6] <a href="../04-packaging-drivers/">Packaging Drivers and Uploading them to Snap Store</a>
128+
[6] <a href="/documentation/04-packaging-drivers">Packaging Drivers and Uploading them to Snap Store</a>
129129
<br>
130-
[7] <a href="../05-User-Manual/">User Manual</a>
130+
[7] <a href="/documentation/05-User-Manual">User Manual</a>
131131
<br>
132132
[8] <a href="https://github.com/OpenPrinting/cups-filters">CUPS Filters</a>

‎contents/documentation/02-designing-printer-drivers.md‎

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ toc: true
44
toc_sticky: true
55
h_range: [1,2]
66
---
7-
**This document contains a complete tutorial as well as information for manufacturers with examples for designing printer drivers. If you are looking for information regarding the use of printer drivers, kindly refer to <a href="../05-User-Manual/">User Manual</a>**
7+
**This document contains a complete tutorial as well as information for manufacturers with examples for designing printer drivers. If you are looking for information regarding the use of printer drivers, kindly refer to <a href="/documentation/05-User-Manual">User Manual</a>**
88

99

1010
<h2 id="introduction"> Introduction </h2>
1111

12-
A driver is a code or data specific to a certain model or group of hardware devices, needed to make the hardware work with the hardware-model-independent code of the operating system. Printing in Linux has moved towards [Driverless Printing](https://openprinting.github.io/driverless/), which means there is no need for any hardware-model-specific code or data. However, there are some problems with the current framework. For example, some printers(especially the old ones) that cannot handle IPP requests are devoid of driverless printing capability. Printer Applications help to address these issues. Kindly refer <a href="../01-printer-application/">Printer Applications - A new way to print in Linux</a> to learn more about Printer Applications, its working and benefits.
12+
A driver is a code or data specific to a certain model or group of hardware devices, needed to make the hardware work with the hardware-model-independent code of the operating system. Printing in Linux has moved towards [Driverless Printing](https://openprinting.github.io/driverless), which means there is no need for any hardware-model-specific code or data. However, there are some problems with the current framework. For example, some printers(especially the old ones) that cannot handle IPP requests are devoid of driverless printing capability. Printer Applications help to address these issues. Kindly refer <a href="/documentation/01-printer-application">Printer Applications - A new way to print in Linux</a> to learn more about Printer Applications, its working and benefits.
1313

14-
For Designing the Printer Application Driver, it would be a lot of re-inventing the wheel if everyone who wants to create a printer driver has to implement all things from scratch. Therefore Michael Sweet has developed <a href="https://github.com/michaelrsweet/pappl/">PAPPL</a>, a library that provides all the common functionality which is required in every Printer Application.
14+
For Designing the Printer Application Driver, it would be a lot of re-inventing the wheel if everyone who wants to create a printer driver has to implement all things from scratch. Therefore Michael Sweet has developed <a href="https://github.com/michaelrsweet/pappl">PAPPL</a>, a library that provides all the common functionality which is required in every Printer Application.
1515

1616
The flowchart below mentions the components of the driver that needs to be designed by you (boxes in blue color), along with the PAPPL utilities (boxes in red color) that would be used by your designed components.
1717

@@ -52,7 +52,7 @@ The following tutorial helps you to understand how to design each component and
5252

5353
The system is an object of type `pappl_system_t` that manages client and device connections, listeners, the log, printers, and resources. In addition, it provides an optional embedded web interface, raw socket printing, and USB printer gadget (Linux only).
5454

55-
The system callback argument specifies a function that will create a new system, i.e. a `pappl_system_t` object. You can use the callback function to customisably configure system properties using the <a href="../../pappl-system-utilities/">PAPPL System Utilities</a>. This includes configuring Footer HTML on your web interface and setting up drivers.
55+
The system callback argument specifies a function that will create a new system, i.e. a `pappl_system_t` object. You can use the callback function to customisably configure system properties using the <a href="../../pappl-system-utilities">PAPPL System Utilities</a>. This includes configuring Footer HTML on your web interface and setting up drivers.
5656
5757
You can refer [designing system callback](#systemcallback) guidelines for retrieving more information about the System Callback function.
5858

@@ -348,7 +348,7 @@ ___
348348

349349
4. **Add system configurations**
350350

351-
The system object has tons of configurable attributes and correspondingly a huge number of PAPPL utilities to configure them. These include utilities like Setting Hostname, Setting the footer HTML for the web interface, etc. A detailed list of these function can be found at <a href="../../pappl-system-utilities/">PAPPL System Utilities</a>.
351+
The system object has tons of configurable attributes and correspondingly a huge number of PAPPL utilities to configure them. These include utilities like Setting Hostname, Setting the footer HTML for the web interface, etc. A detailed list of these function can be found at <a href="../../pappl-system-utilities">PAPPL System Utilities</a>.
352352

353353

354354
5. **Call the [Driver setup function](#setup)**
@@ -1035,16 +1035,16 @@ They must be independent of order application start at boot or of device discove
10351035
10361036
<h2 id="resources"> Resources </h2>
10371037
1038-
[1] <a href="../01-printer-application/">Printer Application</a>
1038+
[1] <a href="/documentation/01-printer-application">Printer Application</a>
10391039
<br>
10401040
[2] <a href="https://github.com/michaelrsweet/hp-printer-app">HP Printer App Example</a>
10411041
<br>
1042-
[3] <a href="https://github.com/michaelrsweet/pappl/">PAPPL</a>
1042+
[3] <a href="https://github.com/michaelrsweet/pappl">PAPPL</a>
10431043
<br>
1044-
[4] <a href="../../pappl-system-utilities/">PAPPL System Utilities</a>
1044+
[4] <a href="../../pappl-system-utilities">PAPPL System Utilities</a>
10451045
<br>
1046-
[5] <a href="../04-packaging-drivers/">Packaging Drivers and Uploading them to Snap Store</a>
1046+
[5] <a href="/documentation/04-packaging-drivers">Packaging Drivers and Uploading them to Snap Store</a>
10471047
<br>
1048-
[6] <a href="../05-User-Manual/">User Manual</a>
1048+
[6] <a href="/documentation/05-User-Manual">User Manual</a>
10491049
<br>
10501050
[7] <a href="https://github.com/OpenPrinting/ps-printer-app">PS Printer App Example</a>

‎contents/documentation/03-designing-scanner-drivers.md‎

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ h_range: [1,3]
1010

1111
## Introduction
1212

13-
A driver is code or data specific to a certain model or group of hardware devices, needed to make the hardware work with the hardware-model-independent code of the operating system. Printing in Linux has moved towards [Driverless Printing](https://openprinting.github.io/driverless/) and so does Scanning, which means there is no need for any hardware-model-specific code or data.
13+
A driver is code or data specific to a certain model or group of hardware devices, needed to make the hardware work with the hardware-model-independent code of the operating system. Printing in Linux has moved towards [Driverless Printing](../../driverless) and so does Scanning, which means there is no need for any hardware-model-specific code or data.
1414

15-
Kindly refer to <a href="../02-designing-printer-drivers/">Tutorial to Design Printer Drivers</a> to know more about Printer Applications and their designing. Designing Scanner Applications is very similar and expects the manufacturers to use the PAPPL framework to reduce their effort in implementing all things from scratch..
15+
Kindly refer to <a href="/documentation/02-designing-printer-drivers">Tutorial to Design Printer Drivers</a> to know more about Printer Applications and their designing. Designing Scanner Applications is very similar and expects the manufacturers to use the PAPPL framework to reduce their effort in implementing all things from scratch..
1616

1717
## How a PAPPL-based Scanner Driver should work
1818

@@ -50,7 +50,7 @@ The scanner interface returns a single page at a time as uncompressed (or lossle
5050

5151
PAPPL provides callbacks for most of the events including submitting print/scan jobs, querying printer/scanner status and capabilities, and so forth to reduce the manufacturer's workload and hence designing scanner applications is very much similar to designing printer applications. The only difference is the additional callback support provided for the scan command. Since this support is added in PAPPL, you as a manufacturer do not need to worry about this implementation as well.
5252

53-
Hence refer to <a href="../02-designing-printer-drivers/">Tutorial to Design Printer Drivers</a> and follow the same for Designing Scanner Applications as well.
53+
Hence refer to <a href="/documentation/02-designing-printer-drivers">Tutorial to Design Printer Drivers</a> and follow the same for Designing Scanner Applications as well.
5454

5555
## Example for PAPPL-based Scanner Driver
5656

@@ -97,10 +97,10 @@ They must be independent of order application start at boot or of device discove
9797
* **sane-airscan in SANE Scanner Application must be built without IPP Scan to avoid recursive discovery infinite loop (“Scanner bomb”)**
9898

9999
## Resources
100-
[1] <a href="../02-designing-printer-drivers/">Tutorial to Design Printer Drivers</a>
100+
[1] <a href="/documentation/02-designing-printer-drivers">Tutorial to Design Printer Drivers</a>
101101
<br>
102-
[2] <a href="https://github.com/michaelrsweet/pappl/">PAPPL</a>
102+
[2] <a href="https://github.com/michaelrsweet/pappl">PAPPL</a>
103103
<br>
104-
[3] <a href="../../pappl-system-utilities/">PAPPL System Utilities</a>
104+
[3] <a href="../../pappl-system-utilities">PAPPL System Utilities</a>
105105
<br>
106-
[4] <a href="../04-packaging-drivers/">Packaging Drivers and Uploading them to Snap Store</a>
106+
[4] <a href="/documentation/04-packaging-drivers">Packaging Drivers and Uploading them to Snap Store</a>

‎contents/documentation/04-packaging-drivers.md‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ toc: true
44
toc_sticky: true
55
h_range: [1,3]
66
---
7-
**This document contains a complete tutorial as well as information for manufacturers with examples for packaging printer/scanner drivers and releasing them to the Snap Store. If you are looking for information regarding the designing of printer/scanner drivers, kindly refer to <a href="../02-designing-printer-drivers/">Tutorial to Design Printer Drivers</a> and <a href="../03-designing-scanner-drivers/">Tutorial to Design Scanner Drivers</a> respectively.**
7+
**This document contains a complete tutorial as well as information for manufacturers with examples for packaging printer/scanner drivers and releasing them to the Snap Store. If you are looking for information regarding the designing of printer/scanner drivers, kindly refer to <a href="/documentation/02-designing-printer-drivers">Tutorial to Design Printer Drivers</a> and <a href="/documentation/03-designing-scanner-drivers">Tutorial to Design Scanner Drivers</a> respectively.**
88

99
<h2 id="introduction"> Introduction </h2>
1010

@@ -36,7 +36,7 @@ Most Snaps we create are driven using `snapcraft.yaml`. This file describes a sn
3636

3737
As a distributor, you would create a `snapcraft.yaml` file. This will be used by the `snapcraft` command to build your snap. Next, you would upload this `.snap` file to the Snap Store and release it on the stable channel.
3838

39-
To start building your snap, the initial step is to install snapcraft. Kindly refer the <a href="https://snapcraft.io/docs/installing-snapcraft">installation guidelines</a> to follow the same.
39+
To start building your snap, the initial step is to install snapcraft. Kindly refer the <a href="https://documentation.ubuntu.com/snapcraft/9.0/how-to/set-up-snapcraft">installation guidelines</a> to follow the same.
4040

4141
After installation, navigate to the directory containing your application and use the following command.
4242

@@ -291,9 +291,9 @@ Once you have a snap that works under strict or classic confinement, you’re re
291291
The further steps are extensively covered in the official documentation of Snaps and can be located at <a href="https://snapcraft.io/docs/releasing-to-the-snap-store">Releasing to Snap Documentation</a>.
292292
293293
<h2 id="resources"> Resources </h2>
294-
[1] <a href="../02-designing-printer-drivers/">Tutorial to Design Printer Drivers</a>
294+
[1] <a href="/documentation/02-designing-printer-drivers">Tutorial to Design Printer Drivers</a>
295295
<br>
296-
[2] <a href="../03-designing-scanner-drivers/">Tutorial to Design Scanner Drivers</a>
296+
[2] <a href="/documentation/03-designing-scanner-drivers">Tutorial to Design Scanner Drivers</a>
297297
<br>
298298
[3] <a href="https://snapcraft.io/docs">Snap Documentation</a>
299299
<br>

0 commit comments

Comments
 (0)