Menautkan ke bagian halaman manual?

13

Halaman manual daring dalam HTML dengan jangkar bagian?

Akan lebih baik untuk memiliki versi online dari halaman manual Ubuntu dengan tautan langsung ke subbagian. Itu akan memungkinkan untuk mengarahkan seseorang ke dokumentasi yang relevan dalam banyak kasus - misalnya dalam jawaban dari berbagai situs StackExchange.

Saya akan menjelaskan bagaimana solusi lengkap mungkin terlihat, dan dengan cara apa itu akan bermanfaat. Saya tidak berpikir solusi lengkap tersedia di suatu tempat, jadi pertanyaannya adalah

Solusi parsial mana yang ada saat ini?

Misalnya, entah bagaimana cara sistematis untuk mencari ke halaman manual, alih-alih menautkan, akan menjadi solusi parsial.


Halaman manual di manpages.ubuntu.com menyelesaikan sebagian besar masalah, tetapi mereka tidak memiliki jangkar pada judul atau bagian.

Itu berarti, jika saya ingin menunjuk ke bagian "Parameter Ekspansi" di man bashonline, saya harus menggunakan

Lihat "Ekspansi Parameter" di [... dan gunakan browser Anda untuk mencari "Ekspansi Parameter"]man bash

Ini membuka halaman bash man di atas, sebagai satu halaman web yang panjang.

Dalam shell, bisa saya katakan

Lihat man bash | less "+/Parameter Expansion"

yang melompat ke tempat yang tepat saat startup.


Akan sangat membantu untuk memiliki tautan jangkar yang dinamai seperti judul yang mereka tuju. Jangkar yang dinamai dengan semacam nomor indeks masih akan membantu, tetapi memerlukan pencarian manual pada halaman web yang sebenarnya untuk menggunakannya.

Karena tidak sulit pada tingkat HTML untuk menambahkan jangkar ke pos, saya yakin halaman manual seperti itu ada;
Tetapi apakah ada koleksi halaman manual Ubuntu dengan jangkar online di suatu tempat, atau setidaknya bagian yang baik?

Kode contoh

Header bagian "Parameter Expansion" dari
http://manpages.ubuntu.com/bash
jenis pengalihan ke
http://manpages.ubuntu.com/manpages/trusty/en/man1/bash.1.html

       [ ... ]
       tildes in assignments to <b>PATH</b>, <b>MAILPATH</b>,  and  <b>CDPATH</b>,  and  the  shell
       assigns the expanded value.

   <b>Parameter</b> <b>Expansion</b>
       The `<b>$</b>' character introduces parameter expansion, command substitution,
       or arithmetic expansion.  The parameter name or symbol to  be  expanded
       [ ... ]

Untuk dapat terhubung langsung ke bagian ini, kita memerlukan sesuatu seperti:

       [ ... ]
       tildes in assignments to <b>PATH</b>, <b>MAILPATH</b>,  and  <b>CDPATH</b>,  and  the  shell
       assigns the expanded value.

   <a href="#ParameterExpansion"><b>Parameter</b> <b>Expansion</b></a>
       The `<b>$</b>' character introduces parameter expansion, command substitution,
       or arithmetic expansion.  The parameter name or symbol to  be  expanded
       [ ... ]


Ini menambahkan satu tag ke kode HTML, dan satu atribut, nama bagian tanpa spasi:

<b>Parameter</b> <b>Expansion</b>
<a href="#ParameterExpansion"><b>Parameter</b> <b>Expansion</b></a>

Sekarang, kita dapat menautkan ke bagian suka

http://manpages.ubuntu.com/bash#ParameterExpansion
atau bahkan
manpages.ubuntu.com/bash#ParameterExpansion

yang menggunakan catatan kaki dan ditulis seperti
[manpages.ubuntu.com/bash#ParameterExpansion[[6]


Penggunaan dokumen referensi lainnya

Dalam banyak kasus, ada dokumen referensi alternatif yang tersedia, muncul dari halaman manual. Ini sering memiliki struktur tautan yang baik yang digunakan untuk menautkan dari daftar isi ke bagian, persis seperti yang kita butuhkan.
Tetapi ini tidak menyelesaikan masalah umum , karena tidak ada cara umum untuk menemukan apakah / di mana dokumen tersebut ada, dan memanfaatkan struktur tautan.

Untuk contoh bash yang digunakan di atas, Manual Referensi Bash dapat digunakan sebagai solusi individual yang dicari secara manual:

Bash Reference Manual section Shell-Parameter-Expansion
ditulis sebagai
[Bash Reference Manual section Shell-Parameter-Expansion] (http://www.gnu.org/software/bash/manual/bash.html#Shell-Parameter-Expansion)

Usulan implementasi

Untuk mengusulkan sebenarnya menerapkan ide ini di manpages.ubuntu.com ,
saya mengajukan permintaan bug / peningkatan terkait erat pada proyek terkait "ubuntu-manpage-repository": launchpad # 1355271: Gunakan tag HTML a untuk memungkinkan tautan eksternal ke subbagian manusia halaman

Volker Siegel
sumber
3
Kedengarannya ide yang bagus. Silakan ajukan laporan bug untuk ini.
Florian Diesch
@FlorianDiesch Tentu, itu bagian yang jelas;) Sebenarnya, manpages.ubuntu.com liiks seperti implementasi yang sangat bersih, tapi saya ingat itu dilakukan oleh satu pengembang. Mari kita lihat ...
Volker Siegel
1
@AlaaAli Meta hanya untuk pertanyaan tentang Tanya Ubuntu , bukan tentang proyek Ubuntu atau situs web terkait Ubuntu lainnya.
Eliah Kagan
1
Omong-omong, saya menulis pertanyaan yang sangat mirip di sini: unix.meta.stackexchange.com/q/3960/135943
Wildcard

Jawaban:

7

Ya, itu dia http://man.cx/ . Ini bertujuan untuk memiliki semua halaman manual dalam satu situs, juga dalam berbagai bahasa. Sayangnya anchor tidak bernama, tetapi bernomor: misalnya http://man.cx/printf#heading1 akan membawa Anda ke judul pertama printfhalaman manual. Tetap saya pikir ini lebih baik daripada tanpa jangkar;)

PS. Tambahkan situs ke mesin pencari Anda, maka Anda cukup mengetik man printfdi bilah alamat Anda, dan itu akan membawa Anda ke halaman yang benar, super luar biasa!

Burger Gerhard
sumber
1
Ide bagus untuk integrasi browser sebagai mesin pencari!
Philipp Wendler
Downvote tanpa komentar?
Gerhard Burger
2

Di unix.stackexchange , ada beberapa cara yang dijelaskan untuk menggunakan halaman offline sebagai hiperteks juga. Cara termudah bagi saya tampaknya w3mman, yang merupakan bagian dari paket w3m, jadi:

sudo apt-get install w3m

Ketika Anda membuka halaman manual, fe w3mman man, Anda dapat menggunakan TABuntuk menavigasi ke tautan berikutnya. (Cara pintas keyboard khas pria lainnya berfungsi sama: menggulir, mencari, berhenti :-)

Untuk mematikan konfirmasi berhenti (seperti manberperilaku):

  • sunting ~/.w3m/config

    • jika tidak ada: cp /etc/w3m/config ~/.w3m/
  • set confirm_qq 0

Untuk mengganti perintah manusia normal :

  • sunting ~/.bashrc

    • Menambahkan alias man='w3mman'
  • source ~/.bashrc

Sekarang man <some command>akan menggunakan w3mman bukan pria normal :) Saya suka cara ini. Terima kasih untuk bertanya! :)

PythoNic
sumber