├── .gitignore ├── media-types ├── application │ ├── xml │ │ ├── test.xml │ │ ├── attributes.xml │ │ └── cdata.xml │ ├── zip │ │ ├── dd.zip │ │ ├── noradi.zip │ │ ├── unix.zip │ │ ├── winxp.zip │ │ ├── zip64.zip │ │ └── crc32-not-streamed.zip │ ├── pdf │ │ ├── ASCII.pdf │ │ ├── Equil.pdf │ │ ├── tb88garcia.pdf │ │ └── Contactangle.pdf │ ├── sla │ │ ├── cube.stl │ │ └── cube2.stl │ ├── x-dvi │ │ ├── link.dvi │ │ └── small.dvi │ ├── epub+zip │ │ └── pg1.epub │ ├── msaccess │ │ └── qtest.mdb │ ├── java-vm │ │ └── TestAWT.class │ ├── msword │ │ ├── OracleForm.doc │ │ └── Neuron-submission.doc │ ├── x-rar │ │ └── small_archive.rar │ ├── gzip │ │ └── md5sum.textutils.1.gz │ ├── x-iso9660-image │ │ ├── empty_01.iso │ │ └── empty_02.iso │ ├── x-mobipocket-ebook │ │ └── pg1.mobi │ ├── x-portabase │ │ └── myportabase.pob │ ├── x-compressed-tar │ │ ├── devices.tar.gz │ │ └── bashcc-1.0.1.tar.gz │ ├── vnd.ms-cab-compressed │ │ └── small_archive.cab │ ├── vnd.ms-powerpoint │ │ └── WM_2006_-_Security.ppt │ ├── x-ms-shortcut │ │ └── Program Files - Shortcut.lnk │ ├── x-vnd.gobe.productive-document │ │ ├── empty-gf.gp2 │ │ └── empty-wp.gp2 │ ├── vnd.comicbook+zip │ │ └── If_an_A_Bomb_falls__1951_.cbz │ ├── vnd.oasis.opendocument.formula │ │ └── demo_oo_formula.odf │ ├── vnd.oasis.opendocument.spreadsheet │ │ └── data_aug2014.ods │ ├── vnd.oasis.opendocument.database │ │ └── 14110339425827288.odb │ ├── vnd.oasis.opendocument.graphics │ │ └── 13719228396115488.odg │ ├── vnd.oasis.opendocument.presentation │ │ └── 13700816801195109.odp │ ├── vnd.comicbook-rar │ │ └── Little_Nemo_in_Slumberland___Unknown_Strip_1.cbr │ ├── vnd.openxmlformats-officedocument.spreadsheetml.sheet │ │ └── TotalAyatInQuran.xlsx │ ├── vnd.openxmlformats-officedocument.wordprocessingml.document │ │ └── 1009.4027v1.docx │ ├── vnd.oasis.opendocument.text │ │ └── WMF_Admin_Job_Advertisement_Head_of_Business_Development.odt │ ├── vnd.openxmlformats-officedocument.presentationml.presentation │ │ └── amazon%20referral%20revenue.pptx │ ├── javascript │ │ ├── popover.js │ │ └── directoryentry-edit.js │ ├── json │ │ ├── rfc-1.json │ │ └── rfc-2.json │ ├── atom+xml │ │ └── sample_feed.atom │ ├── x-subrip │ │ └── night_of_the_living_dead_excerpt.srt │ ├── marc │ │ └── sandburg.mrc │ ├── x-shellscript │ │ ├── which │ │ └── install_zdl.sh │ ├── x-tar │ │ ├── gnu.tar │ │ └── star.tar │ ├── marcxml+xml │ │ └── sandburg.xml │ └── rtf │ │ └── Wikipedia_Editor_Survey_2012_-_documentation.rtf ├── text │ ├── x-python │ │ ├── antigravity.py │ │ └── this.py │ ├── tab-separated-values │ │ └── tsv.tsv │ ├── html │ │ ├── ISO-8859-1-Encoding.html │ │ ├── index.html │ │ └── xml-tools.html │ ├── x-csrc │ │ └── gcd.c │ ├── calendar │ │ ├── encoding.ics │ │ └── calendar.ics │ ├── css │ │ ├── directory-listing.css │ │ └── w3-styles-css.css │ ├── x-java │ │ └── MailBox.java │ ├── vcard │ │ ├── rfc6350-example.vcf │ │ └── rfc2426-example.vcf │ ├── x-c++src │ │ ├── feature.cc │ │ └── sample.cc │ ├── vtt │ │ └── night_of_the_living_dead_excerpt.vtt │ ├── plain │ │ ├── fstab │ │ └── UTF-8-i_eat_glass.txt │ ├── csv │ │ └── countries(204)_olympics.csv │ ├── x-makefile │ │ └── Makefile │ └── x-bibtex │ │ └── xampl.bib ├── audio │ ├── mpeg │ │ └── s1.mp3 │ ├── flac │ │ └── Bell-ring.flac │ ├── x-wav │ │ └── Beepalert.wav │ ├── x-vorbis+ogg │ │ └── Gliss.ogg │ ├── x-aiff │ │ └── Pinball Beeper.aiff │ └── midi │ │ └── %22Bebop-rebop%22_early_bop_phrase.mid ├── image │ ├── png │ │ ├── 1x1.png │ │ ├── Invisible.png │ │ └── 050329-birthday1.png │ ├── gif │ │ ├── 1x1_red.gif │ │ ├── 24_3_2.gif │ │ ├── 123_Numbers.gif │ │ ├── 1x1_transparent.gif │ │ └── Green_bot_animated.gif │ ├── jpeg │ │ ├── Blank.JPG │ │ └── 300px-Kubuntu_15_04.jpeg │ ├── bmp │ │ └── not_kitty.bmp │ ├── heic │ │ └── example.heic │ ├── jp2 │ │ └── not_kitty.jp2 │ ├── tiff │ │ ├── The_others.tiff │ │ ├── not_kitty.tiff │ │ └── Cavity_wind_tunnel_setup.tiff │ ├── webp │ │ └── not_kitty.webp │ ├── x-xcf │ │ ├── Blank_file.xcf │ │ └── Chess_board_in_grayscale_in_XCF_with_XCF's_Run-length_encoding.xcf │ ├── vnd.mozilla.apng │ │ ├── 025.png │ │ ├── Load.png │ │ ├── demo-1.png │ │ └── Blueball.png │ ├── fits │ │ └── WFPC2ASSNu5780205bx.fits │ ├── vnd.djvu │ │ ├── gettysburg-address.djvu │ │ └── Congruence_properties_of_partitions.djvu │ ├── vnd.microsoft.icon │ │ └── not_kitty.ico │ ├── x-portable-pixmap │ │ └── feep.ppm │ ├── x-portable-bitmap │ │ └── feep.pbm │ ├── x-portable-graymap │ │ └── feep.pgm │ └── svg+xml │ │ ├── Color_icon_white.svg │ │ └── Animated_pendulum.svg ├── video │ ├── ogg │ │ ├── seek420.ogv │ │ └── Triple_conj.ogg │ ├── mp4 │ │ └── small_movie.mp4 │ ├── quicktime │ │ └── SplatterPaint.mov │ └── webm │ │ └── 30fps_numeroted_frames_blue.webm ├── chemical │ ├── x-cif │ │ ├── AuCl.cif │ │ ├── alumina.cif │ │ └── 1101035.cif │ └── x-xyz │ │ ├── methyltin.xyz │ │ └── list.xyz ├── font │ └── otf │ │ └── PowerlineSymbols.otf ├── model │ ├── x3d+binary │ │ └── HelloWorld.x3db │ ├── x3d+xml │ │ └── HelloWorld.x3d │ └── vrml │ │ ├── HelloWorld.wrl │ │ └── PINTST.wrl └── message │ └── rfc822 │ ├── reply_all.eml │ └── TEST_00731.eml ├── iana ├── font.csv ├── Makefile ├── multipart.csv ├── message.csv ├── model.csv ├── image.csv ├── text.csv ├── video.csv └── audio.csv ├── relevant-links └── link-to-Media_Types_www.iana.org.link.html ├── link-to-nbeaver_mimetype-menagerie__Public_domain_example_files_for_every_mimetype__in_progress_._github.com.link.html ├── .editorconfig ├── known_mimetypes.py ├── Makefile ├── url_check.py ├── LICENSE.txt ├── coverage_report.txt ├── known_mimetypes.txt ├── check-mimetypes.py ├── generate_coverage_report.py ├── readme.rst ├── todo.md └── find_new_mimetypes.py /.gitignore: -------------------------------------------------------------------------------- 1 | warnings.txt 2 | readme.html 3 | todo.html 4 | -------------------------------------------------------------------------------- /media-types/application/xml/test.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /media-types/text/x-python/antigravity.py: -------------------------------------------------------------------------------- 1 | 2 | import webbrowser 3 | 4 | webbrowser.open("http://xkcd.com/353/") 5 | -------------------------------------------------------------------------------- /media-types/audio/mpeg/s1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/audio/mpeg/s1.mp3 -------------------------------------------------------------------------------- /media-types/image/png/1x1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/image/png/1x1.png -------------------------------------------------------------------------------- /media-types/image/gif/1x1_red.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/image/gif/1x1_red.gif -------------------------------------------------------------------------------- /media-types/image/gif/24_3_2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/image/gif/24_3_2.gif -------------------------------------------------------------------------------- /media-types/image/jpeg/Blank.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/image/jpeg/Blank.JPG -------------------------------------------------------------------------------- /media-types/video/ogg/seek420.ogv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/video/ogg/seek420.ogv -------------------------------------------------------------------------------- /media-types/application/zip/dd.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/zip/dd.zip -------------------------------------------------------------------------------- /media-types/chemical/x-cif/AuCl.cif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/chemical/x-cif/AuCl.cif -------------------------------------------------------------------------------- /media-types/image/bmp/not_kitty.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/image/bmp/not_kitty.bmp -------------------------------------------------------------------------------- /media-types/image/heic/example.heic: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/image/heic/example.heic -------------------------------------------------------------------------------- /media-types/image/jp2/not_kitty.jp2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/image/jp2/not_kitty.jp2 -------------------------------------------------------------------------------- /media-types/image/png/Invisible.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/image/png/Invisible.png -------------------------------------------------------------------------------- /media-types/application/pdf/ASCII.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/pdf/ASCII.pdf -------------------------------------------------------------------------------- /media-types/application/pdf/Equil.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/pdf/Equil.pdf -------------------------------------------------------------------------------- /media-types/application/sla/cube.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/sla/cube.stl -------------------------------------------------------------------------------- /media-types/application/x-dvi/link.dvi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/x-dvi/link.dvi -------------------------------------------------------------------------------- /media-types/application/zip/noradi.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/zip/noradi.zip -------------------------------------------------------------------------------- /media-types/application/zip/unix.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/zip/unix.zip -------------------------------------------------------------------------------- /media-types/application/zip/winxp.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/zip/winxp.zip -------------------------------------------------------------------------------- /media-types/application/zip/zip64.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/zip/zip64.zip -------------------------------------------------------------------------------- /media-types/audio/flac/Bell-ring.flac: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/audio/flac/Bell-ring.flac -------------------------------------------------------------------------------- /media-types/audio/x-wav/Beepalert.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/audio/x-wav/Beepalert.wav -------------------------------------------------------------------------------- /media-types/image/gif/123_Numbers.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/image/gif/123_Numbers.gif -------------------------------------------------------------------------------- /media-types/image/tiff/The_others.tiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/image/tiff/The_others.tiff -------------------------------------------------------------------------------- /media-types/image/tiff/not_kitty.tiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/image/tiff/not_kitty.tiff -------------------------------------------------------------------------------- /media-types/image/webp/not_kitty.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/image/webp/not_kitty.webp -------------------------------------------------------------------------------- /media-types/image/x-xcf/Blank_file.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/image/x-xcf/Blank_file.xcf -------------------------------------------------------------------------------- /media-types/video/mp4/small_movie.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/video/mp4/small_movie.mp4 -------------------------------------------------------------------------------- /media-types/video/ogg/Triple_conj.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/video/ogg/Triple_conj.ogg -------------------------------------------------------------------------------- /media-types/application/x-dvi/small.dvi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/x-dvi/small.dvi -------------------------------------------------------------------------------- /media-types/audio/x-vorbis+ogg/Gliss.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/audio/x-vorbis+ogg/Gliss.ogg -------------------------------------------------------------------------------- /media-types/application/epub+zip/pg1.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/epub+zip/pg1.epub -------------------------------------------------------------------------------- /media-types/application/msaccess/qtest.mdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/msaccess/qtest.mdb -------------------------------------------------------------------------------- /media-types/application/pdf/tb88garcia.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/pdf/tb88garcia.pdf -------------------------------------------------------------------------------- /media-types/font/otf/PowerlineSymbols.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/font/otf/PowerlineSymbols.otf -------------------------------------------------------------------------------- /media-types/image/gif/1x1_transparent.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/image/gif/1x1_transparent.gif -------------------------------------------------------------------------------- /media-types/image/png/050329-birthday1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/image/png/050329-birthday1.png -------------------------------------------------------------------------------- /media-types/image/vnd.mozilla.apng/025.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/image/vnd.mozilla.apng/025.png -------------------------------------------------------------------------------- /media-types/image/vnd.mozilla.apng/Load.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/image/vnd.mozilla.apng/Load.png -------------------------------------------------------------------------------- /media-types/application/java-vm/TestAWT.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/java-vm/TestAWT.class -------------------------------------------------------------------------------- /media-types/application/msword/OracleForm.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/msword/OracleForm.doc -------------------------------------------------------------------------------- /media-types/application/pdf/Contactangle.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/pdf/Contactangle.pdf -------------------------------------------------------------------------------- /media-types/audio/x-aiff/Pinball Beeper.aiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/audio/x-aiff/Pinball Beeper.aiff -------------------------------------------------------------------------------- /media-types/image/gif/Green_bot_animated.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/image/gif/Green_bot_animated.gif -------------------------------------------------------------------------------- /media-types/image/vnd.mozilla.apng/demo-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/image/vnd.mozilla.apng/demo-1.png -------------------------------------------------------------------------------- /media-types/model/x3d+binary/HelloWorld.x3db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/model/x3d+binary/HelloWorld.x3db -------------------------------------------------------------------------------- /media-types/text/tab-separated-values/tsv.tsv: -------------------------------------------------------------------------------- 1 | Name Age Address 2 | Paul 23 1115 W Franklin 3 | Bessy the Cow 5 Big Farm Way 4 | Zeke 45 W Main St 5 | -------------------------------------------------------------------------------- /media-types/video/quicktime/SplatterPaint.mov: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/video/quicktime/SplatterPaint.mov -------------------------------------------------------------------------------- /media-types/application/x-rar/small_archive.rar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/x-rar/small_archive.rar -------------------------------------------------------------------------------- /media-types/image/fits/WFPC2ASSNu5780205bx.fits: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/image/fits/WFPC2ASSNu5780205bx.fits -------------------------------------------------------------------------------- /media-types/image/jpeg/300px-Kubuntu_15_04.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/image/jpeg/300px-Kubuntu_15_04.jpeg -------------------------------------------------------------------------------- /media-types/image/vnd.mozilla.apng/Blueball.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/image/vnd.mozilla.apng/Blueball.png -------------------------------------------------------------------------------- /media-types/text/html/ISO-8859-1-Encoding.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/text/html/ISO-8859-1-Encoding.html -------------------------------------------------------------------------------- /media-types/application/gzip/md5sum.textutils.1.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/gzip/md5sum.textutils.1.gz -------------------------------------------------------------------------------- /media-types/application/xml/attributes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /media-types/application/zip/crc32-not-streamed.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/zip/crc32-not-streamed.zip -------------------------------------------------------------------------------- /media-types/image/vnd.djvu/gettysburg-address.djvu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/image/vnd.djvu/gettysburg-address.djvu -------------------------------------------------------------------------------- /media-types/image/vnd.microsoft.icon/not_kitty.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/image/vnd.microsoft.icon/not_kitty.ico -------------------------------------------------------------------------------- /media-types/application/msword/Neuron-submission.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/msword/Neuron-submission.doc -------------------------------------------------------------------------------- /media-types/application/x-iso9660-image/empty_01.iso: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/x-iso9660-image/empty_01.iso -------------------------------------------------------------------------------- /media-types/application/x-iso9660-image/empty_02.iso: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/x-iso9660-image/empty_02.iso -------------------------------------------------------------------------------- /media-types/application/x-mobipocket-ebook/pg1.mobi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/x-mobipocket-ebook/pg1.mobi -------------------------------------------------------------------------------- /media-types/application/x-portabase/myportabase.pob: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/x-portabase/myportabase.pob -------------------------------------------------------------------------------- /media-types/image/tiff/Cavity_wind_tunnel_setup.tiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/image/tiff/Cavity_wind_tunnel_setup.tiff -------------------------------------------------------------------------------- /media-types/application/x-compressed-tar/devices.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/x-compressed-tar/devices.tar.gz -------------------------------------------------------------------------------- /media-types/video/webm/30fps_numeroted_frames_blue.webm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/video/webm/30fps_numeroted_frames_blue.webm -------------------------------------------------------------------------------- /media-types/application/x-compressed-tar/bashcc-1.0.1.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/x-compressed-tar/bashcc-1.0.1.tar.gz -------------------------------------------------------------------------------- /media-types/application/vnd.ms-cab-compressed/small_archive.cab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/vnd.ms-cab-compressed/small_archive.cab -------------------------------------------------------------------------------- /media-types/audio/midi/%22Bebop-rebop%22_early_bop_phrase.mid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/audio/midi/%22Bebop-rebop%22_early_bop_phrase.mid -------------------------------------------------------------------------------- /media-types/application/vnd.ms-powerpoint/WM_2006_-_Security.ppt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/vnd.ms-powerpoint/WM_2006_-_Security.ppt -------------------------------------------------------------------------------- /media-types/application/x-ms-shortcut/Program Files - Shortcut.lnk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/x-ms-shortcut/Program Files - Shortcut.lnk -------------------------------------------------------------------------------- /media-types/application/x-vnd.gobe.productive-document/empty-gf.gp2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/x-vnd.gobe.productive-document/empty-gf.gp2 -------------------------------------------------------------------------------- /media-types/application/x-vnd.gobe.productive-document/empty-wp.gp2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/x-vnd.gobe.productive-document/empty-wp.gp2 -------------------------------------------------------------------------------- /media-types/image/vnd.djvu/Congruence_properties_of_partitions.djvu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/image/vnd.djvu/Congruence_properties_of_partitions.djvu -------------------------------------------------------------------------------- /media-types/application/vnd.comicbook+zip/If_an_A_Bomb_falls__1951_.cbz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/vnd.comicbook+zip/If_an_A_Bomb_falls__1951_.cbz -------------------------------------------------------------------------------- /media-types/application/vnd.oasis.opendocument.formula/demo_oo_formula.odf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/vnd.oasis.opendocument.formula/demo_oo_formula.odf -------------------------------------------------------------------------------- /media-types/application/vnd.oasis.opendocument.spreadsheet/data_aug2014.ods: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/vnd.oasis.opendocument.spreadsheet/data_aug2014.ods -------------------------------------------------------------------------------- /media-types/application/vnd.oasis.opendocument.database/14110339425827288.odb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/vnd.oasis.opendocument.database/14110339425827288.odb -------------------------------------------------------------------------------- /media-types/application/vnd.oasis.opendocument.graphics/13719228396115488.odg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/vnd.oasis.opendocument.graphics/13719228396115488.odg -------------------------------------------------------------------------------- /media-types/application/vnd.oasis.opendocument.presentation/13700816801195109.odp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/vnd.oasis.opendocument.presentation/13700816801195109.odp -------------------------------------------------------------------------------- /iana/font.csv: -------------------------------------------------------------------------------- 1 | Name,Template,Reference 2 | collection,font/collection,[RFC8081] 3 | otf,font/otf,[RFC8081] 4 | sfnt,font/sfnt,[RFC8081] 5 | ttf,font/ttf,[RFC8081] 6 | woff,font/woff,[RFC8081] 7 | woff2,font/woff2,[RFC8081] 8 | -------------------------------------------------------------------------------- /media-types/application/vnd.comicbook-rar/Little_Nemo_in_Slumberland___Unknown_Strip_1.cbr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/vnd.comicbook-rar/Little_Nemo_in_Slumberland___Unknown_Strip_1.cbr -------------------------------------------------------------------------------- /media-types/image/x-xcf/Chess_board_in_grayscale_in_XCF_with_XCF's_Run-length_encoding.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/image/x-xcf/Chess_board_in_grayscale_in_XCF_with_XCF's_Run-length_encoding.xcf -------------------------------------------------------------------------------- /media-types/application/vnd.openxmlformats-officedocument.spreadsheetml.sheet/TotalAyatInQuran.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/vnd.openxmlformats-officedocument.spreadsheetml.sheet/TotalAyatInQuran.xlsx -------------------------------------------------------------------------------- /media-types/application/vnd.openxmlformats-officedocument.wordprocessingml.document/1009.4027v1.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/vnd.openxmlformats-officedocument.wordprocessingml.document/1009.4027v1.docx -------------------------------------------------------------------------------- /media-types/image/x-portable-pixmap/feep.ppm: -------------------------------------------------------------------------------- 1 | P3 2 | # feep.ppm 3 | 4 4 4 | 15 5 | 0 0 0 0 0 0 0 0 0 15 0 15 6 | 0 0 0 0 15 7 0 0 0 0 0 0 7 | 0 0 0 0 0 0 0 15 7 0 0 0 8 | 15 0 15 0 0 0 0 0 0 0 0 0 9 | -------------------------------------------------------------------------------- /media-types/application/vnd.oasis.opendocument.text/WMF_Admin_Job_Advertisement_Head_of_Business_Development.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/vnd.oasis.opendocument.text/WMF_Admin_Job_Advertisement_Head_of_Business_Development.odt -------------------------------------------------------------------------------- /media-types/application/vnd.openxmlformats-officedocument.presentationml.presentation/amazon%20referral%20revenue.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nbeaver/mimetype-menagerie/HEAD/media-types/application/vnd.openxmlformats-officedocument.presentationml.presentation/amazon%20referral%20revenue.pptx -------------------------------------------------------------------------------- /media-types/application/javascript/popover.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function() { 2 | $('#aboutPopover').popover() 3 | $('#listingPopover').popover() 4 | $('#statsPopover').popover() 5 | $('#createPopover').popover() 6 | $('#submitPopover').popover() 7 | $('#faqPopover').popover() 8 | }); 9 | -------------------------------------------------------------------------------- /iana/Makefile: -------------------------------------------------------------------------------- 1 | WGET_FLAGS :=--execute robots=off --recursive --level=2 --no-parent --no-directories --accept '*.csv' 2 | URL :='https://www.iana.org/assignments/media-types/' 3 | 4 | download-quiet : 5 | wget $(WGET_FLAGS) --quiet $(URL) 6 | 7 | download-no-verbose : 8 | wget $(WGET_FLAGS) --no-verbose $(URL) 9 | 10 | CSV :=$(wildcard *.csv) 11 | clean : 12 | rm -f -- $(CSV) 13 | -------------------------------------------------------------------------------- /media-types/chemical/x-xyz/methyltin.xyz: -------------------------------------------------------------------------------- 1 | 11 2 | Methyltin 3 | C -0.027 2.146 0.014 4 | Sn 0.002 -0.004 0.002 5 | C 1.042 -0.716 1.744 6 | Cl -2.212 -0.821 0.019 7 | Cl 1.107 -0.765 -1.940 8 | H 0.996 2.523 0.006 9 | H -0.554 2.507 -0.869 10 | H -0.537 2.497 0.911 11 | H 0.532 -0.365 2.641 12 | H 1.057 -1.806 1.738 13 | H 2.065 -0.339 1.736 14 | 15 | -------------------------------------------------------------------------------- /relevant-links/link-to-Media_Types_www.iana.org.link.html: -------------------------------------------------------------------------------- 1 | 2 | Media Types

Loading Media Types...

-------------------------------------------------------------------------------- /media-types/application/json/rfc-1.json: -------------------------------------------------------------------------------- 1 | { 2 | "Image": { 3 | "Width": 800, 4 | "Height": 600, 5 | "Title": "View from 15th Floor", 6 | "Thumbnail": { 7 | "Url": "http://www.example.com/image/481989943", 8 | "Height": 125, 9 | "Width": 100 10 | }, 11 | "Animated" : false, 12 | "IDs": [116, 943, 234, 38793] 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /media-types/application/xml/cdata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | ]]> 6 | ]]> 8 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /media-types/text/x-csrc/gcd.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | /* Greatest common divisor */ 6 | unsigned long gcd(unsigned long a, unsigned long b) 7 | { 8 | unsigned long r; 9 | 10 | if (a < b) 11 | swap(a, b); 12 | 13 | if (!b) 14 | return a; 15 | while ((r = a % b) != 0) { 16 | a = b; 17 | b = r; 18 | } 19 | return b; 20 | } 21 | EXPORT_SYMBOL_GPL(gcd); 22 | -------------------------------------------------------------------------------- /media-types/image/x-portable-bitmap/feep.pbm: -------------------------------------------------------------------------------- 1 | P1 2 | # feep.pbm 3 | 24 7 4 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 | 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 6 | 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 7 | 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0 8 | 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 9 | 0 1 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 0 0 10 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 | -------------------------------------------------------------------------------- /media-types/text/calendar/encoding.ics: -------------------------------------------------------------------------------- 1 | BEGIN:VCALENDAR 2 | PRODID:-//Plönë.org//NONSGML plone.app.event//EN 3 | VERSION:2.0 4 | X-WR-CALNAME:äöü ÄÖÜ € 5 | X-WR-CALDESC:test non ascii: äöü ÄÖÜ € 6 | X-WR-RELCALID:12345 7 | BEGIN:VEVENT 8 | DTSTART:20101010T100000Z 9 | DTEND:20101010T120000Z 10 | CREATED:20101010T100000Z 11 | UID:123456 12 | SUMMARY:Non-ASCII Test: ÄÖÜ äöü € 13 | DESCRIPTION:icalendar should be able to handle non-ascii: €äüöÄÜÖ. 14 | LOCATION:Tribstrül 15 | END:VEVENT 16 | END:VCALENDAR 17 | -------------------------------------------------------------------------------- /link-to-nbeaver_mimetype-menagerie__Public_domain_example_files_for_every_mimetype__in_progress_._github.com.link.html: -------------------------------------------------------------------------------- 1 | nbeaver/mimetype-menagerie: Public domain example files for every mimetype (in progress).

Loading nbeaver/mimetype-menagerie: Public domain example files for every mimetype (in progress)....

-------------------------------------------------------------------------------- /media-types/text/css/directory-listing.css: -------------------------------------------------------------------------------- 1 | .listNav { margin:0 0 10px; } 2 | .ln-letters { overflow:hidden; } 3 | .ln-letters a { font-size:0.9em; display:block; float:left; padding:2px 6px; border:1px solid silver; border-right:none; text-decoration:none; } 4 | .ln-letters a.ln-last { border-right:1px solid silver; } 5 | .ln-letters a:hover, 6 | .ln-letters a.ln-selected { background-color:#eaeaea; } 7 | .ln-letters a.ln-disabled { color:#ccc; } 8 | .ln-letter-count { text-align:center; font-size:0.8em; line-height:1; margin-bottom:3px; color:#336699; } -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # top-most EditorConfig file 2 | root = true 3 | 4 | # Unix-style newlines with a newline ending every file 5 | [*] 6 | end_of_line = lf 7 | insert_final_newline = true 8 | 9 | # Set default charset 10 | [*.{json,py}] 11 | charset = utf-8 12 | 13 | # 4 space indentation 14 | [*.py] 15 | indent_style = space 16 | indent_size = 4 17 | 18 | [urls.json] 19 | indent_style = space 20 | indent_size = 4 21 | 22 | [Makefile] 23 | indent_style = tab 24 | 25 | [todo.md] 26 | trim_trailing_whitespace = false 27 | insert_final_newline = false 28 | charset = utf-8 29 | -------------------------------------------------------------------------------- /media-types/application/json/rfc-2.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "precision": "zip", 4 | "Latitude": 37.7668, 5 | "Longitude": -122.3959, 6 | "Address": "", 7 | "City": "SAN FRANCISCO", 8 | "State": "CA", 9 | "Zip": "94107", 10 | "Country": "US" 11 | }, 12 | { 13 | "precision": "zip", 14 | "Latitude": 37.371991, 15 | "Longitude": -122.026020, 16 | "Address": "", 17 | "City": "SUNNYVALE", 18 | "State": "CA", 19 | "Zip": "94085", 20 | "Country": "US" 21 | } 22 | ] 23 | -------------------------------------------------------------------------------- /media-types/image/x-portable-graymap/feep.pgm: -------------------------------------------------------------------------------- 1 | P2 2 | # feep.pgm 3 | 24 7 4 | 15 5 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 | 0 3 3 3 3 0 0 7 7 7 7 0 0 11 11 11 11 0 0 15 15 15 15 0 7 | 0 3 0 0 0 0 0 7 0 0 0 0 0 11 0 0 0 0 0 15 0 0 15 0 8 | 0 3 3 3 0 0 0 7 7 7 0 0 0 11 11 11 0 0 0 15 15 15 15 0 9 | 0 3 0 0 0 0 0 7 0 0 0 0 0 11 0 0 0 0 0 15 0 0 0 0 10 | 0 3 0 0 0 0 0 7 7 7 7 0 0 11 11 11 11 0 0 15 0 0 0 0 11 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12 | -------------------------------------------------------------------------------- /media-types/text/x-java/MailBox.java: -------------------------------------------------------------------------------- 1 | package jsched; 2 | 3 | import java.util.LinkedList; 4 | import java.util.Queue; 5 | 6 | public class MailBox { 7 | private final Queue queue = new LinkedList(); 8 | 9 | public void addMessage(T msg) { 10 | try { 11 | queue.add(msg); 12 | } catch (IllegalStateException e) { 13 | // ignore 14 | System.out.println("warning: ignored message in mailbox " + this); 15 | } 16 | } 17 | 18 | public T getMessage() { 19 | if (queue.isEmpty()) { 20 | return null; 21 | } else { 22 | return queue.remove(); 23 | } 24 | 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /known_mimetypes.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | 3 | from __future__ import print_function 4 | import os 5 | import sys 6 | import mimetypes 7 | 8 | 9 | if len(sys.argv) > 1: 10 | rootdir = sys.argv[1] 11 | else: 12 | sys.stderr.write("Usage: {} media-types/\n".format(sys.argv[0])) 13 | sys.exit(1) 14 | 15 | known_mimetypes = set() 16 | for dirpath, dirnames, filenames in os.walk(rootdir): 17 | for filename in filenames: 18 | mimetype, encoding = mimetypes.guess_type(filename) 19 | if mimetype != None: 20 | known_mimetypes.add(mimetype) 21 | 22 | for mimetype in sorted(known_mimetypes): 23 | print(mimetype) 24 | -------------------------------------------------------------------------------- /media-types/application/atom+xml/sample_feed.atom: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Example Feed 5 | 6 | 2003-12-13T18:30:02Z 7 | 8 | 9 | John Doe 10 | 11 | urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6 12 | 13 | 14 | 15 | Atom-Powered Robots Run Amok 16 | 17 | urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a 18 | 2003-12-13T18:30:02Z 19 | 20 | Some text. 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /media-types/application/x-subrip/night_of_the_living_dead_excerpt.srt: -------------------------------------------------------------------------------- 1 | 1 2 | 00:02:14,58 --> 00:02:18,34 3 | They ought to make the day the time changes the first day of summer. 4 | 5 | 2 6 | 00:02:18,35 --> 00:02:19,32 7 | What? 8 | 9 | 3 10 | 00:02:19,33 --> 00:02:21,22 11 | Well, it's eight o'clock and it's still light. 12 | 13 | 4 14 | 00:02:21,50 --> 00:02:24,14 15 | A lot of good the extra daylight does us. 16 | 17 | 5 18 | 00:02:24,27 --> 00:02:26,57 19 | Y'know, we've still got a three-hour drive back, 20 | 21 | 6 22 | 00:02:26,58 --> 00:02:28,68 23 | we're not going to be home until after midnight. 24 | 25 | 7 26 | 00:02:28,69 --> 00:02:31,15 27 | Well, if it really bugged you, Johnny, you wouldn't do it. 28 | 29 | -------------------------------------------------------------------------------- /media-types/text/html/index.html: -------------------------------------------------------------------------------- 1 |
2 | http://info.cern.ch 3 |
4 | 5 |

http://info.cern.ch - home of the first website

6 |

From here you can:

7 | 13 | 14 | -------------------------------------------------------------------------------- /media-types/text/vcard/rfc6350-example.vcf: -------------------------------------------------------------------------------- 1 | BEGIN:VCARD 2 | VERSION:4.0 3 | FN:Simon Perreault 4 | N:Perreault;Simon;;;ing. jr,M.Sc. 5 | BDAY:--0203 6 | ANNIVERSARY:20090808T1430-0500 7 | GENDER:M 8 | LANG;PREF=1:fr 9 | LANG;PREF=2:en 10 | ORG;TYPE=work:Viagenie 11 | ADR;TYPE=work:;Suite D2-630;2875 Laurier; 12 | Quebec;QC;G1V 2M2;Canada 13 | TEL;VALUE=uri;TYPE="work,voice";PREF=1:tel:+1-418-656-9254;ext=102 14 | TEL;VALUE=uri;TYPE="work,cell,voice,video,text":tel:+1-418-262-6501 15 | EMAIL;TYPE=work:simon.perreault@viagenie.ca 16 | GEO;TYPE=work:geo:46.772673,-71.282945 17 | KEY;TYPE=work;VALUE=uri: 18 | http://www.viagenie.ca/simon.perreault/simon.asc 19 | TZ:-0500 20 | URL;TYPE=home:http://nomis80.org 21 | END:VCARD 22 | -------------------------------------------------------------------------------- /media-types/text/vcard/rfc2426-example.vcf: -------------------------------------------------------------------------------- 1 | BEGIN:vCard 2 | VERSION:3.0 3 | FN:Frank Dawson 4 | ORG:Lotus Development Corporation 5 | ADR;TYPE=WORK,POSTAL,PARCEL:;;6544 Battleford Drive 6 | ;Raleigh;NC;27613-3502;U.S.A. 7 | TEL;TYPE=VOICE,MSG,WORK:+1-919-676-9515 8 | TEL;TYPE=FAX,WORK:+1-919-676-9564 9 | EMAIL;TYPE=INTERNET,PREF:Frank_Dawson@Lotus.com 10 | EMAIL;TYPE=INTERNET:fdawson@earthlink.net 11 | URL:http://home.earthlink.net/~fdawson 12 | END:vCard 13 | BEGIN:vCard 14 | VERSION:3.0 15 | FN:Tim Howes 16 | ORG:Netscape Communications Corp. 17 | ADR;TYPE=WORK:;;501 E. Middlefield Rd.;Mountain View; 18 | CA; 94043;U.S.A. 19 | TEL;TYPE=VOICE,MSG,WORK:+1-415-937-3419 20 | TEL;TYPE=FAX,WORK:+1-415-528-4164 21 | EMAIL;TYPE=INTERNET:howes@netscape.com 22 | END:vCard 23 | -------------------------------------------------------------------------------- /iana/multipart.csv: -------------------------------------------------------------------------------- 1 | Name,Template,Reference 2 | alternative,,[RFC2046][RFC2045] 3 | appledouble,multipart/appledouble,[Patrik_Faltstrom] 4 | byteranges,multipart/byteranges,[RFC7233] 5 | digest,,[RFC2046][RFC2045] 6 | encrypted,multipart/encrypted,[RFC1847] 7 | example,multipart/example,[RFC4735] 8 | form-data,multipart/form-data,[RFC7578] 9 | header-set,multipart/header-set,[Dave_Crocker] 10 | mixed,,[RFC2046][RFC2045] 11 | multilingual,multipart/multilingual,[RFC8255] 12 | parallel,,[RFC2046][RFC2045] 13 | related,multipart/related,[RFC2387] 14 | report,multipart/report,[RFC6522] 15 | signed,multipart/signed,[RFC1847] 16 | vnd.bint.med-plus,multipart/vnd.bint.med-plus,[Heinz-Peter_Schütz] 17 | voice-message,multipart/voice-message,[RFC3801] 18 | x-mixed-replace,multipart/x-mixed-replace,[W3C][Robin_Berjon] 19 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | .PHONY : validate-local 2 | validate-local : warnings.txt readme.html todo.html known_mimetypes.txt coverage_report.txt 3 | 4 | .PHONY : validate-remote 5 | validate-remote: url_check.py urls.json 6 | ./url_check.py urls.json 7 | 8 | warnings.txt : check-mimetypes.py media-types/*/* 9 | python3 check-mimetypes.py media-types/ > warnings.txt 10 | 11 | readme.html : readme.rst 12 | rst2html readme.rst readme.html 13 | 14 | todo.html : todo.md 15 | markdown todo.md > todo.html 16 | 17 | known_mimetypes.txt : media-types/*/* known_mimetypes.py 18 | python3 known_mimetypes.py media-types/ > known_mimetypes.txt 19 | 20 | coverage_report.txt : generate_coverage_report.py media-types/*/* iana/*.csv 21 | python3 generate_coverage_report.py > coverage_report.txt 22 | 23 | .PHONY : clean 24 | clean: 25 | rm --force warnings.txt todo.html readme.html coverage_report.txt 26 | -------------------------------------------------------------------------------- /media-types/text/x-c++src/feature.cc: -------------------------------------------------------------------------------- 1 | /* This is free and unencumbered software released into the public domain. */ 2 | 3 | #ifdef HAVE_CONFIG_H 4 | #include 5 | #endif 6 | 7 | #include "feature.h" 8 | 9 | #include /* for assert() */ 10 | #include /* for std::strcmp() */ 11 | 12 | //////////////////////////////////////////////////////////////////////////////// 13 | /* Constants */ 14 | 15 | static const char* const cpr_feature_names[] = { 16 | "ascii", 17 | #ifndef NDEBUG 18 | "debug", 19 | #endif 20 | }; 21 | 22 | //////////////////////////////////////////////////////////////////////////////// 23 | /* Functions */ 24 | 25 | bool 26 | cpr_feature_exists(const char* const feature_name) { 27 | assert(feature_name != nullptr); 28 | 29 | if (feature_name != nullptr) { 30 | for (const char* cpr_feature_name : cpr_feature_names) { 31 | if (std::strcmp(cpr_feature_name, feature_name) == 0) { 32 | return true; /* found */ 33 | } 34 | } 35 | } 36 | 37 | return false; /* not found */ 38 | } 39 | -------------------------------------------------------------------------------- /url_check.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | 3 | import json 4 | import urllib.request 5 | import sys 6 | 7 | if len(sys.argv) > 1: 8 | mimetype_dict = json.load(open(sys.argv[1])) 9 | else: 10 | print("Usage: {} urls.json".format(sys.argv[0])) 11 | sys.exit(1) 12 | 13 | for _, subtype_dict in mimetype_dict.items(): 14 | for _, url_list in subtype_dict.items(): 15 | for url in url_list: 16 | # TODO: check urls in parallel 17 | f = None 18 | try: 19 | f = urllib.request.urlopen(url) 20 | except urllib.error.HTTPError as err: 21 | # TODO: url may redirect to err.url; display this too? 22 | print("URL failed with status {}: {}".format(err.code, url)) 23 | raise 24 | except urllib.error.URLError as err: 25 | print("URL failed : {}".format(url)) 26 | raise 27 | except ConnectionResetError as err: 28 | print("Connection failed on: {}".format(err.code, url)) 29 | raise 30 | -------------------------------------------------------------------------------- /iana/message.csv: -------------------------------------------------------------------------------- 1 | Name,Template,Reference 2 | CPIM,message/CPIM,[RFC3862] 3 | delivery-status,message/delivery-status,[RFC1894] 4 | disposition-notification,message/disposition-notification,[RFC8098] 5 | example,message/example,[RFC4735] 6 | external-body,,[RFC2045][RFC2046] 7 | feedback-report,message/feedback-report,[RFC5965] 8 | global,message/global,[RFC6532] 9 | global-delivery-status,message/global-delivery-status,[RFC6533] 10 | global-disposition-notification,message/global-disposition-notification,[RFC6533] 11 | global-headers,message/global-headers,[RFC6533] 12 | http,message/http,[RFC7230] 13 | imdn+xml,message/imdn+xml,[RFC5438] 14 | news - OBSOLETED by RFC5537,message/news,[RFC5537][Henry_Spencer] 15 | partial,,[RFC2045][RFC2046] 16 | rfc822,,[RFC2045][RFC2046] 17 | s-http,message/s-http,[RFC2660] 18 | sip,message/sip,[RFC3261] 19 | sipfrag,message/sipfrag,[RFC3420] 20 | tracking-status,message/tracking-status,[RFC3886] 21 | vnd.si.simp - OBSOLETED by request,message/vnd.si.simp,[Nicholas_Parks_Young] 22 | vnd.wfa.wsc,message/vnd.wfa.wsc,[Mick_Conley] 23 | -------------------------------------------------------------------------------- /media-types/application/javascript/directoryentry-edit.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function() { 2 | if ($('#acceptedAt').val() !== "") { 3 | ($('#accept').prop('checked', true)); 4 | } else if ($('#rejectedAt').val() !== "") { 5 | ($('#reject').prop('checked', true)); 6 | } 7 | 8 | // get the original status before setting up the change handler as this can change the value 9 | comparison=calli.copyResourceData('#form'); 10 | 11 | $('input:radio[name="status"]').change(function(event) { 12 | if ($('#accept').is(':checked')) { 13 | $('#acceptedAt').val(new Date().toISOString()); 14 | $('#rejectedAt').val(""); 15 | } else if ($('#reject').is(':checked')) { 16 | $('#rejectedAt').val(new Date().toISOString()); 17 | $('#acceptedAt').val(""); 18 | } else if ($('#pending').is(':checked')) { 19 | $('#acceptedAt').val(""); 20 | $('#rejectedAt').val(""); 21 | } 22 | $('#acceptedAt').change(); 23 | $('#rejectedAt').change(); 24 | }); 25 | }); 26 | -------------------------------------------------------------------------------- /media-types/text/vtt/night_of_the_living_dead_excerpt.vtt: -------------------------------------------------------------------------------- 1 | WEBVTT Excerpt from "Night of the Living Dead" (1968) 2 | 3 | NOTE 4 | "Night of the Living Dead" is in the public domain. 5 | It is available on the Internet Archive here: 6 | https://archive.org/details/NightOfTheLivingDead-MPEG 7 | 8 | NOTE 9 | This is an excerpt from the first scene. 10 | 11 | 00:02:14.58 --> 00:02:18.34 align:left 12 | They ought to make the day the time changes the first day of summer. 13 | 14 | 00:02:18.35 --> 00:02:19.32 align:right 15 | What? 16 | 17 | 00:02:19.33 --> 00:02:21.22 align:left 18 | Well, it's eight o'clock and it's still light. 19 | 20 | 00:02:21.50 --> 00:02:24.14 align:right 21 | A lot of good the extra daylight does us. 22 | 23 | 00:02:24.27 --> 00:02:26.57 align:right 24 | Y'know, we've still got a three-hour drive back, 25 | 26 | 00:02:26.58 --> 00:02:28.68 align:right 27 | we're not going to be home until after midnight. 28 | 29 | 00:02:28.69 --> 00:02:31.15 align:left 30 | Well, if it really bugged you, Johnny, you wouldn't do it. 31 | 32 | -------------------------------------------------------------------------------- /media-types/text/x-python/this.py: -------------------------------------------------------------------------------- 1 | s = """Gur Mra bs Clguba, ol Gvz Crgref 2 | 3 | Ornhgvshy vf orggre guna htyl. 4 | Rkcyvpvg vf orggre guna vzcyvpvg. 5 | Fvzcyr vf orggre guna pbzcyrk. 6 | Pbzcyrk vf orggre guna pbzcyvpngrq. 7 | Syng vf orggre guna arfgrq. 8 | Fcnefr vf orggre guna qrafr. 9 | Ernqnovyvgl pbhagf. 10 | Fcrpvny pnfrf nera'g fcrpvny rabhtu gb oernx gur ehyrf. 11 | Nygubhtu cenpgvpnyvgl orngf chevgl. 12 | Reebef fubhyq arire cnff fvyragyl. 13 | Hayrff rkcyvpvgyl fvyraprq. 14 | Va gur snpr bs nzovthvgl, ershfr gur grzcgngvba gb thrff. 15 | Gurer fubhyq or bar-- naq cersrenoyl bayl bar --boivbhf jnl gb qb vg. 16 | Nygubhtu gung jnl znl abg or boivbhf ng svefg hayrff lbh'er Qhgpu. 17 | Abj vf orggre guna arire. 18 | Nygubhtu arire vf bsgra orggre guna *evtug* abj. 19 | Vs gur vzcyrzragngvba vf uneq gb rkcynva, vg'f n onq vqrn. 20 | Vs gur vzcyrzragngvba vf rnfl gb rkcynva, vg znl or n tbbq vqrn. 21 | Anzrfcnprf ner bar ubaxvat terng vqrn -- yrg'f qb zber bs gubfr!""" 22 | 23 | d = {} 24 | for c in (65, 97): 25 | for i in range(26): 26 | d[chr(i+c)] = chr((i+13) % 26 + c) 27 | 28 | print "".join([d.get(c, c) for c in s]) 29 | -------------------------------------------------------------------------------- /media-types/application/marc/sandburg.mrc: -------------------------------------------------------------------------------- 1 | 01142cam 2200301 a 4500001001300000003000400013005001700017008004100034010001700075020002500092040001800117042000900135050002600144082001600170100003200186245008600218250001200304260005200316300004900368500004000417520022800457650003300685650003300718650002400751650002100775650002300796700002100819 92005291 DLC19930521155141.9920219s1993 caua j 000 0 eng  a 92005291  a0152038655 :c$15.95 aDLCcDLCdDLC alcac00aPS3537.A618bA88 199300a811/.522201 aSandburg, Carl,d1878-1967.10aArithmetic /cCarl Sandburg ; illustrated as an anamorphic adventure by Ted Rand. a1st ed. aSan Diego :bHarcourt Brace Jovanovich,cc1993. a1 v. (unpaged) :bill. (some col.) ;c26 cm. aOne Mylar sheet included in pocket. aA poem about numbers and their characteristics. Features anamorphic, or distorted, drawings which can be restored to normal by viewing from a particular angle or by viewing the image's reflection in the provided Mylar cone. 0aArithmeticxJuvenile poetry. 0aChildren's poetry, American. 1aArithmeticxPoetry. 1aAmerican poetry. 1aVisual perception.1 aRand, Ted,eill. -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Nathaniel Morck Beaver 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /media-types/application/x-shellscript/which: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | set -ef 3 | 4 | if test -n "$KSH_VERSION"; then 5 | puts() { 6 | print -r -- "$*" 7 | } 8 | else 9 | puts() { 10 | printf '%s\n' "$*" 11 | } 12 | fi 13 | 14 | ALLMATCHES=0 15 | 16 | while getopts a whichopts 17 | do 18 | case "$whichopts" in 19 | a) ALLMATCHES=1 ;; 20 | ?) puts "Usage: $0 [-a] args"; exit 2 ;; 21 | esac 22 | done 23 | shift $(($OPTIND - 1)) 24 | 25 | if [ "$#" -eq 0 ]; then 26 | ALLRET=1 27 | else 28 | ALLRET=0 29 | fi 30 | case $PATH in 31 | (*[!:]:) PATH="$PATH:" ;; 32 | esac 33 | for PROGRAM in "$@"; do 34 | RET=1 35 | IFS_SAVE="$IFS" 36 | IFS=: 37 | case $PROGRAM in 38 | */*) 39 | if [ -f "$PROGRAM" ] && [ -x "$PROGRAM" ]; then 40 | puts "$PROGRAM" 41 | RET=0 42 | fi 43 | ;; 44 | *) 45 | for ELEMENT in $PATH; do 46 | if [ -z "$ELEMENT" ]; then 47 | ELEMENT=. 48 | fi 49 | if [ -f "$ELEMENT/$PROGRAM" ] && [ -x "$ELEMENT/$PROGRAM" ]; then 50 | puts "$ELEMENT/$PROGRAM" 51 | RET=0 52 | [ "$ALLMATCHES" -eq 1 ] || break 53 | fi 54 | done 55 | ;; 56 | esac 57 | IFS="$IFS_SAVE" 58 | if [ "$RET" -ne 0 ]; then 59 | ALLRET=1 60 | fi 61 | done 62 | 63 | exit "$ALLRET" 64 | -------------------------------------------------------------------------------- /media-types/text/plain/fstab: -------------------------------------------------------------------------------- 1 | # /etc/fstab: static file system information. 2 | # 3 | # Use 'blkid -o value -s UUID' to print the universally unique identifier 4 | # for a device; this may be used with UUID= as a more robust way to name 5 | # devices that works even if disks are added and removed. See fstab(5). 6 | # 7 | # 8 | proc /proc proc nodev,noexec,nosuid 0 0 9 | # / was on /dev/sde1 during installation 10 | UUID=59a61ceb-fee3-460a-97c5-e9f115776daf / ext4 errors=remount-ro 0 1 11 | # swap was on /dev/sde5 during installation 12 | UUID=80f9c384-9a5a-4563-921a-5c25628e1b2e none swap sw 0 0 13 | 14 | #/dev/sda1 /mnt/kryten/disk1 15 | UUID=6f3bef9e-6c81-4545-bd9c-653ce8326e93 /mnt/kryten/disk1 ext4 rw,auto,user,exec,async,errors=remount-ro 0 1 16 | 17 | #/dev/sdc1 /mnt/kryten/disk2 18 | UUID=9cbf62e9-44ec-480e-b695-94cc8e686c78 /mnt/kryten/disk2 ext4 rw,auto,user,exec,async,errors=remount-ro 0 1 19 | 20 | #/dev/sdd1 /mnt/kryten/disk3 21 | UUID=876d25db-1ed7-4df1-b3f6-13004ade9107 /mnt/kryten/disk3 ext4 rw,auto,user,exec,async,errors=remount-ro 0 1 22 | 23 | #/dev/sdb1 24 | UUID=c41cba49-bd3a-41d7-961c-b4ad45d48ed1 /mnt/kryten/disk4 ext4 rw,auto,user,exec,async,errors=remount-ro 0 1 -------------------------------------------------------------------------------- /coverage_report.txt: -------------------------------------------------------------------------------- 1 | application 2 | IANA mimetypes in repo: 26 ( 1.94%) 3 | IANA mimetypes missing: 1313 ( 98.06%) 4 | In repo, but not IANA: 14 5 | audio 6 | IANA mimetypes in repo: 1 ( 0.66%) 7 | IANA mimetypes missing: 151 ( 99.34%) 8 | In repo, but not IANA: 5 9 | font 10 | IANA mimetypes in repo: 1 ( 16.67%) 11 | IANA mimetypes missing: 5 ( 83.33%) 12 | In repo, but not IANA: 0 13 | image 14 | IANA mimetypes in repo: 11 ( 17.46%) 15 | IANA mimetypes missing: 52 ( 82.54%) 16 | In repo, but not IANA: 6 17 | message 18 | IANA mimetypes in repo: 1 ( 4.76%) 19 | IANA mimetypes missing: 20 ( 95.24%) 20 | In repo, but not IANA: 0 21 | model 22 | IANA mimetypes in repo: 3 ( 11.54%) 23 | IANA mimetypes missing: 23 ( 88.46%) 24 | In repo, but not IANA: 1 25 | multipart 26 | IANA mimetypes in repo: 0 ( 0.00%) 27 | IANA mimetypes missing: 17 (100.00%) 28 | In repo, but not IANA: 0 29 | text 30 | IANA mimetypes in repo: 8 ( 10.53%) 31 | IANA mimetypes missing: 68 ( 89.47%) 32 | In repo, but not IANA: 8 33 | video 34 | IANA mimetypes in repo: 3 ( 3.70%) 35 | IANA mimetypes missing: 78 ( 96.30%) 36 | In repo, but not IANA: 1 37 | Total IANA mimetypes in repo: 54 ( 3.03%) 38 | Total IANA mimetypes missing: 1727 ( 96.97%) 39 | Total in repo, but not IANA: 35 40 | -------------------------------------------------------------------------------- /iana/model.csv: -------------------------------------------------------------------------------- 1 | Name,Template,Reference 2 | 3mf,model/3mf,[http://www.3mf.io/specification][_3MF][Michael_Sweet] 3 | example,model/example,[RFC4735] 4 | gltf-binary,model/gltf-binary,[Khronos][Saurabh_Bhatia] 5 | gltf+json,model/gltf+json,[Khronos][Uli_Klumpp] 6 | iges,model/iges,[Curtis_Parks] 7 | mesh,,[RFC2077] 8 | stl,model/stl,[DICOM_Standards_Committee][Lisa_Spellman] 9 | vnd.collada+xml,model/vnd.collada+xml,[James_Riordon] 10 | vnd.dwf,model/vnd.dwf,[Jason_Pratt] 11 | vnd.flatland.3dml,model/vnd.flatland.3dml,[Michael_Powers] 12 | vnd.gdl,model/vnd.gdl,[Attila_Babits] 13 | vnd.gs-gdl,model/vnd.gs-gdl,[Attila_Babits] 14 | vnd.gtw,model/vnd.gtw,[Yutaka_Ozaki] 15 | vnd.moml+xml,model/vnd.moml+xml,[Christopher_Brooks] 16 | vnd.mts,model/vnd.mts,[Boris_Rabinovitch] 17 | vnd.opengex,model/vnd.opengex,[Eric_Lengyel] 18 | vnd.parasolid.transmit.binary,model/vnd.parasolid.transmit.binary,[Parasolid] 19 | vnd.parasolid.transmit.text,model/vnd.parasolid.transmit.text,[Parasolid] 20 | vnd.rosette.annotated-data-model,model/vnd.rosette.annotated-data-model,[Benson_Margulies] 21 | vnd.usdz+zip,model/vnd.usdz+zip,[Sebastian_Grassia] 22 | vnd.valve.source.compiled-map,model/vnd.valve.source.compiled-map,[Henrik_Andersson] 23 | vnd.vtu,model/vnd.vtu,[Boris_Rabinovitch] 24 | vrml,,[RFC2077] 25 | x3d-vrml,model/x3d-vrml,[Web3D][Web3D_X3D] 26 | x3d+fastinfoset,model/x3d+fastinfoset,[Web3D_X3D] 27 | x3d+xml,model/x3d+xml,[Web3D][Web3D_X3D] 28 | -------------------------------------------------------------------------------- /media-types/image/svg+xml/Color_icon_white.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 12 | 19 | 26 | 33 | 40 | 47 | 54 | 61 | 68 | 75 | 76 | -------------------------------------------------------------------------------- /known_mimetypes.txt: -------------------------------------------------------------------------------- 1 | application/atom+xml 2 | application/font-sfnt 3 | application/java-vm 4 | application/javascript 5 | application/json 6 | application/msaccess 7 | application/msword 8 | application/pdf 9 | application/postscript 10 | application/rar 11 | application/rtf 12 | application/sla 13 | application/vnd.ms-powerpoint 14 | application/vnd.oasis.opendocument.database 15 | application/vnd.oasis.opendocument.formula 16 | application/vnd.oasis.opendocument.graphics 17 | application/vnd.oasis.opendocument.presentation 18 | application/vnd.oasis.opendocument.spreadsheet 19 | application/vnd.oasis.opendocument.text 20 | application/vnd.openxmlformats-officedocument.presentationml.presentation 21 | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet 22 | application/vnd.openxmlformats-officedocument.wordprocessingml.document 23 | application/x-cab 24 | application/x-cbr 25 | application/x-cbz 26 | application/x-dvi 27 | application/x-iso9660-image 28 | application/x-tar 29 | application/x-troff-man 30 | application/x-xcf 31 | application/xml 32 | application/zip 33 | audio/flac 34 | audio/midi 35 | audio/mpeg 36 | audio/ogg 37 | audio/x-aiff 38 | audio/x-wav 39 | chemical/x-cif 40 | chemical/x-xyz 41 | image/gif 42 | image/jp2 43 | image/jpeg 44 | image/png 45 | image/svg+xml 46 | image/tiff 47 | image/vnd.djvu 48 | image/vnd.microsoft.icon 49 | image/x-ms-bmp 50 | image/x-portable-bitmap 51 | image/x-portable-graymap 52 | image/x-portable-pixmap 53 | message/rfc822 54 | model/iges 55 | model/x3d+binary 56 | model/x3d+xml 57 | text/calendar 58 | text/css 59 | text/csv 60 | text/html 61 | text/plain 62 | text/tab-separated-values 63 | text/vcard 64 | text/x-bibtex 65 | text/x-c++src 66 | text/x-csrc 67 | text/x-java 68 | text/x-python 69 | text/x-sh 70 | text/x-tex 71 | video/mp4 72 | video/ogg 73 | video/quicktime 74 | video/webm 75 | x-world/x-vrml 76 | -------------------------------------------------------------------------------- /check-mimetypes.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | 3 | import mimetypes 4 | import os 5 | import sys 6 | import subprocess 7 | import shutil 8 | 9 | def walkdir(rootdir): 10 | filepaths = [] 11 | for dirpath, dirnames, filenames in os.walk(rootdir): 12 | for filename in filenames: 13 | filepath = os.path.join(dirpath, filename) 14 | filepaths.append(filepath) 15 | python_mimetype, encoding = mimetypes.guess_type(filename) 16 | if python_mimetype != None: 17 | check_match(expected_mimetype(filepath), python_mimetype, 'python.mimetypes.guess_type()', filepath) 18 | 19 | def run_subprocess(cmd, args, name, delimiter): 20 | if shutil.which(cmd): 21 | output = subprocess.check_output([cmd] + args + filepaths).decode() 22 | lines = output.split('\n') 23 | for line in lines: 24 | if delimiter in line: 25 | filepath, mimetype = line.split(sep=delimiter, maxsplit=1) 26 | mimetype = mimetype.strip() 27 | check_match(expected_mimetype(filepath), mimetype, name, filepath) 28 | 29 | run_subprocess('mimetype', ['--noalign'], 'mimetype(1)', ':') 30 | run_subprocess('file', ['--mime-type'], 'file(1)', ':') 31 | 32 | def expected_mimetype(filepath): 33 | parent, _ = os.path.split(filepath) 34 | grandparent, subtype = os.path.split(parent) 35 | _, toplevel = os.path.split(grandparent) 36 | return "/".join([toplevel, subtype]) 37 | 38 | def check_match(expected, guess, guesser, path): 39 | if guess != expected: 40 | print("Warning: expected {} but got {} from {} on file {}".format(repr(expected), repr(guess), repr(guesser), repr(path))) 41 | 42 | if len(sys.argv) > 1: 43 | walkdir(sys.argv[1]) 44 | else: 45 | sys.stderr.write("Usage: {} media-types/\n".format(sys.argv[0])) 46 | sys.exit(1) 47 | -------------------------------------------------------------------------------- /media-types/chemical/x-cif/alumina.cif: -------------------------------------------------------------------------------- 1 | # This CIF was taken from ICSD data (exported using Alan Hewat's wonderful 2 | # web software for ICSD). The unit cell & coordinates have been buggered 3 | # from the Cox values to make the GSAS refinement do a little bit of work. 4 | 5 | data_Corundum-Al2O3-Cox 6 | 7 | _audit_creation_date 01:12:02 8 | 9 | _chemical_name_systematic 'Aluminium oxide ' 10 | _chemical_formula_structural 'Al2O3' 11 | _chemical_formula_sum ' AL2 O3 ' 12 | 13 | _publ_section_title 14 | ; 15 | Structural Refinement of Neutron and X-Ray Data by the Rietveld 16 | Method: Application to Al2 O3 and Bi V O4 17 | ; 18 | loop_ 19 | _publ_author_name 20 | 'Cox D E' 21 | 'Moodenbaugh A R' 22 | 'Sleight A W' 23 | 'Chen H Y' 24 | 25 | _journal_name_full 'N.B.S.(U.S.),Spec.Publ.' 26 | _journal_volume 567 27 | _journal_year 1980 28 | _journal_page_first 189 29 | _journal_page_last 201 30 | 31 | _cell_length_a 4.766 32 | _cell_length_b 4.765 33 | _cell_length_c 12.95 34 | _cell_angle_alpha 90. 35 | _cell_angle_beta 90. 36 | _cell_angle_gamma 120. 37 | _symmetry_space_group_name_H-M 'R -3 c ' 38 | _symmetry_Int_Tables_number '167' 39 | 40 | loop_ 41 | _atom_site_label 42 | _atom_site_type_symbol 43 | _atom_site_symmetry_multiplicity 44 | _atom_site_Wyckoff_symbol 45 | _atom_site_fract_x 46 | _atom_site_fract_y 47 | _atom_site_fract_z 48 | _atom_site_B_iso_or_equiv 49 | _atom_site_occupancy 50 | Al1 Al 12 c 0.00000 0.00000 0.34 0.02500 1.00000 51 | O1 O 18 e 0.33 0.00000 0.25000 0.02500 1.00000 52 | 53 | _refine_ls_R_factor_all 0.05 54 | -------------------------------------------------------------------------------- /media-types/image/svg+xml/Animated_pendulum.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 8 | 9 | 10 | 11 | Animated pendulum 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 39 | 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /media-types/chemical/x-cif/1101035.cif: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------ 2 | #$Date: 2015-01-27 19:58:39 +0000 (Tue, 27 Jan 2015) $ 3 | #$Revision: 130149 $ 4 | #$URL: file:///home/coder/svn-repositories/cod/cif/1/10/10/1101035.cif $ 5 | #------------------------------------------------------------------------------ 6 | # 7 | # This file is available in the Crystallography Open Database (COD), 8 | # http://www.crystallography.net/ 9 | # 10 | # All data on this site have been placed in the public domain by the 11 | # contributors. 12 | # 13 | data_1101035 14 | loop_ 15 | _publ_author_name 16 | 'Donaldson, J D' 17 | 'Moser, W' 18 | 'Simpson, W B' 19 | _chemical_formula_structural 'Sn O' 20 | _chemical_formula_sum 'O Sn' 21 | _chemical_name_systematic 'Tin (II) oxide - red modification' 22 | _space_group_IT_number 36 23 | _symmetry_cell_setting orthorhombic 24 | _symmetry_Int_Tables_number 36 25 | _symmetry_space_group_name_Hall 'C 2c -2' 26 | _symmetry_space_group_name_H-M 'C m c 21' 27 | _cell_angle_alpha 90 28 | _cell_angle_beta 90 29 | _cell_angle_gamma 90 30 | _cell_formula_units_Z 8 31 | _cell_length_a 5. 32 | _cell_length_b 5.72 33 | _cell_length_c 11.12 34 | _cell_volume 318.0 35 | _cod_database_code 1101035 36 | loop_ 37 | _symmetry_equiv_pos_as_xyz 38 | x,y,z 39 | -x,y,z 40 | -x,-y,1/2+z 41 | x,-y,1/2+z 42 | 1/2+x,1/2+y,z 43 | 1/2-x,1/2+y,z 44 | 1/2-x,1/2-y,1/2+z 45 | 1/2+x,1/2-y,1/2+z 46 | loop_ 47 | _atom_site_label 48 | _atom_site_type_symbol 49 | _atom_site_symmetry_multiplicity 50 | _atom_site_Wyckoff_symbol 51 | _atom_site_fract_x 52 | _atom_site_fract_y 53 | _atom_site_fract_z 54 | _atom_site_occupancy 55 | _atom_site_attached_hydrogens 56 | _atom_site_calc_flag 57 | Sn1 Sn2+ 4 a 0. 0. 0. 1. 0 d 58 | Sn2 Sn2+ 4 a 0. 0.441 0.254 1. 0 d 59 | O1 O2- 8 b 0.18 0.25 0.38 1. 0 d 60 | loop_ 61 | _atom_type_symbol 62 | _atom_type_oxidation_number 63 | Sn2+ 2.000 64 | O2- -2.000 65 | -------------------------------------------------------------------------------- /media-types/text/calendar/calendar.ics: -------------------------------------------------------------------------------- 1 | BEGIN:VCALENDAR 2 | PRODID:-//ACME/DesktopCalendar//EN 3 | METHOD:CREATE 4 | X-LIC-NOTE: #C1. Rescheduled by #I2\ and updated by #I3 5 | VERSION:2.0 6 | BEGIN:VEVENT 7 | ORGANIZER:Mailto:B@example.com 8 | ATTENDEE;ROLE=CHAIR;PARTSTAT=ACCEPTED;CN=BIG A:Mailto:A@example.com 9 | ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=B:Mailto:B@example.com 10 | ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=C:Mailto:C@example.com 11 | ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=Hal:Mailto:D@example.com 12 | ATTENDEE;RSVP=FALSE;CUTYPE=ROOM:conf_Big@example.com 13 | ATTENDEE;ROLE=NON-PARTICIPANT;RSVP=FALSE:Mailto:E@example.com 14 | DTSTAMP:19970611T190000Z 15 | DTSTART:19970701T190000Z 16 | DTEND:19970701T193000Z 17 | SUMMARY:Conference 18 | UID:calsrv.example.com-873970198738777@example.com 19 | SEQUENCE:1 20 | STATUS:CONFIRMED 21 | END:VEVENT 22 | END:VCALENDAR 23 | 24 | BEGIN:VCALENDAR 25 | PRODID:-//ACME/DesktopCalendar//EN 26 | METHOD:REQUEST 27 | X-LIC-NOTE: #C2. The test user is the organizer. 28 | VERSION:2.0 29 | BEGIN:VEVENT 30 | ORGANIZER:Mailto:A@example.com 31 | ATTENDEE;ROLE=CHAIR;PARTSTAT=ACCEPTED:Mailto:A@example.com 32 | ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL:Mailto:B@example.com 33 | ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL:Mailto:C@example.com 34 | ATTENDEE;RSVP=TRUE;CUTYPE=INDIVIDUAL;CN=Hal:Mailto:D@example.com 35 | ATTENDEE;ROLE=NON-PARTICIPANT;RSVP=FALSE; 36 | CUTYPE=ROOM:Mailto:Conf@example.com 37 | ATTENDEE;ROLE=NON-PARTICIPANT;RSVP=FALSE:Mailto:E@example.com 38 | DTSTART:19970701T180000Z 39 | DTEND:19970701T190000Z 40 | SUMMARY:Phone Conference 41 | UID:calsrv.example.com-873970198738785@example.com 42 | SEQUENCE:0 43 | DTSTAMP:19970613T190000Z 44 | STATUS:CONFIRMED 45 | END:VEVENT 46 | END:VCALENDAR 47 | 48 | BEGIN:VCALENDAR 49 | PRODID:-//ACME/DesktopCalendar//EN 50 | METHOD:CREATED 51 | X-LIC-NOTE: #C3. Publish 52 | VERSION:2.0 53 | BEGIN:VEVENT 54 | ORGANIZER:Mailto:B@example.com 55 | DTSTAMP:19970610T190000Z 56 | DTSTART:19970701T100000Z 57 | DTEND:19970701T1100000Z 58 | SUMMARY:Conference 59 | UID:calsrv.example.com-1002@example.com 60 | STATUS:CONFIRMED 61 | SEQUENCE:2 62 | END:VEVENT 63 | END:VCALENDAR 64 | -------------------------------------------------------------------------------- /media-types/application/sla/cube2.stl: -------------------------------------------------------------------------------- 1 | solid cube2.stl 2 | facet normal 0.0 0.0 -1.0 3 | outer loop 4 | vertex 0.0 1.0 1.0 5 | vertex 1.0 1.0 1.0 6 | vertex 1.0 0.0 1.0 7 | endloop 8 | endfacet 9 | facet normal 0.0 0.0 -1.0 10 | outer loop 11 | vertex 0.0 1.0 1.0 12 | vertex 1.0 0.0 1.0 13 | vertex 0.0 0.0 1.0 14 | endloop 15 | endfacet 16 | facet normal 0.0 -1.0 0.0 17 | outer loop 18 | vertex 0.0 1.0 0.0 19 | vertex 1.0 1.0 0.0 20 | vertex 1.0 1.0 1.0 21 | endloop 22 | endfacet 23 | facet normal 0.0 -1.0 0.0 24 | outer loop 25 | vertex 0.0 1.0 0.0 26 | vertex 1.0 1.0 1.0 27 | vertex 0.0 1.0 1.0 28 | endloop 29 | endfacet 30 | facet normal 0.0 0.0 1.0 31 | outer loop 32 | vertex 0.0 0.0 0.0 33 | vertex 1.0 0.0 0.0 34 | vertex 1.0 1.0 0.0 35 | endloop 36 | endfacet 37 | facet normal 0.0 0.0 1.0 38 | outer loop 39 | vertex 0.0 0.0 0.0 40 | vertex 1.0 1.0 0.0 41 | vertex 0.0 1.0 0.0 42 | endloop 43 | endfacet 44 | facet normal 0.0 1.0 0.0 45 | outer loop 46 | vertex 0.0 0.0 1.0 47 | vertex 1.0 0.0 1.0 48 | vertex 1.0 0.0 0.0 49 | endloop 50 | endfacet 51 | facet normal 0.0 1.0 0.0 52 | outer loop 53 | vertex 0.0 0.0 1.0 54 | vertex 1.0 0.0 0.0 55 | vertex 0.0 0.0 0.0 56 | endloop 57 | endfacet 58 | facet normal -1.0 0.0 0.0 59 | outer loop 60 | vertex 1.0 1.0 1.0 61 | vertex 1.0 1.0 0.0 62 | vertex 1.0 0.0 0.0 63 | endloop 64 | endfacet 65 | facet normal -1.0 0.0 0.0 66 | outer loop 67 | vertex 1.0 1.0 1.0 68 | vertex 1.0 0.0 0.0 69 | vertex 1.0 0.0 1.0 70 | endloop 71 | endfacet 72 | facet normal 1.0 0.0 0.0 73 | outer loop 74 | vertex 0.0 1.0 0.0 75 | vertex 0.0 1.0 1.0 76 | vertex 0.0 0.0 1.0 77 | endloop 78 | endfacet 79 | facet normal 1.0 0.0 0.0 80 | outer loop 81 | vertex 0.0 1.0 0.0 82 | vertex 0.0 0.0 1.0 83 | vertex 0.0 0.0 0.0 84 | endloop 85 | endfacet 86 | endsolid 87 | -------------------------------------------------------------------------------- /generate_coverage_report.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | 3 | import csv 4 | import glob 5 | import collections 6 | import os 7 | 8 | mimetypes_iana = collections.OrderedDict() 9 | 10 | for path in sorted(glob.glob("iana/*.csv")): 11 | with open(path) as csvfile: 12 | # This is a bit of a hack, 13 | # but it works since the filenames match the media type. 14 | media_type = os.path.basename(path).rstrip('.csv') 15 | # e.g. mimetypes_iana['application'] = [] 16 | mimetypes_iana[media_type] = set() 17 | reader = csv.DictReader(csvfile) 18 | for row in reader: 19 | subtype = row['Name'] 20 | mimetypes_iana[media_type].add(subtype) 21 | 22 | mimetypes_in_repo = {} 23 | 24 | for dirpath, dirnames, filenames in os.walk('media-types/'): 25 | if filenames: 26 | # If there are files, we know we are in a directory with examples, 27 | # so we add the media type to the list. 28 | temp, subtype = os.path.split(dirpath) 29 | _, media_type = os.path.split(temp) 30 | if media_type not in mimetypes_in_repo: 31 | mimetypes_in_repo[media_type] = set([subtype]) 32 | else: 33 | mimetypes_in_repo[media_type].add(subtype) 34 | 35 | total_iana = 0 36 | total_in_common = 0 37 | total_to_do = 0 38 | total_unregistered = 0 39 | for media_type, subtypes_iana in mimetypes_iana.items(): 40 | total_iana += len(subtypes_iana) 41 | if media_type in mimetypes_in_repo: 42 | subtypes_in_repo = mimetypes_in_repo[media_type] 43 | else: 44 | subtypes_in_repo = set() 45 | subtypes_in_common = set.intersection(subtypes_iana, subtypes_in_repo) 46 | total_in_common += len(subtypes_in_common) 47 | percent_in_common = 100*len(subtypes_in_common)/len(subtypes_iana) 48 | subtypes_unregistered = subtypes_in_repo - subtypes_iana 49 | total_unregistered += len(subtypes_unregistered) 50 | subtypes_to_do = subtypes_iana - subtypes_in_repo 51 | total_to_do += len(subtypes_to_do) 52 | percent_to_do = 100*len(subtypes_to_do)/len(subtypes_iana) 53 | print(media_type) 54 | print(" IANA mimetypes in repo: {:>4} ({:>6.2f}%)".format(len(subtypes_in_common), percent_in_common) ) 55 | print(" IANA mimetypes missing: {:>4} ({:>6.2f}%)".format(len(subtypes_to_do), percent_to_do) ) 56 | print(" In repo, but not IANA: {:>5}".format(len(subtypes_unregistered)) ) 57 | 58 | total_percent_in_common = 100*total_in_common/total_iana 59 | total_percent_to_do = 100*total_to_do/total_iana 60 | print("Total IANA mimetypes in repo: {:>4} ({:>6.2f}%)".format(total_in_common, total_percent_in_common) ) 61 | print("Total IANA mimetypes missing: {:>4} ({:>6.2f}%)".format(total_to_do, total_percent_to_do) ) 62 | print("Total in repo, but not IANA: {:>5}".format(total_unregistered) ) 63 | -------------------------------------------------------------------------------- /media-types/application/x-tar/gnu.tar: -------------------------------------------------------------------------------- 1 | small.txt0000640021650100116100000000000511213074064012105 0ustar dsymondsengKiltssmall2.txt0000640021650100116100000000001311213113114012154 0ustar dsymondsengGoogle.com 2 | -------------------------------------------------------------------------------- /media-types/application/x-tar/star.tar: -------------------------------------------------------------------------------- 1 | small.txt0000640 0216501 0011610 00000000005 11213575217 0016730 0ustar00dsymondseng0000000 0000000 11213575217 11213575217 tarKiltssmall2.txt0000640 0216501 0011610 00000000013 11213575217 0017011 0ustar00dsymondseng0000000 0000000 11213575217 11213575217 tarGoogle.com 2 | -------------------------------------------------------------------------------- /media-types/message/rfc822/reply_all.eml: -------------------------------------------------------------------------------- 1 | Return-Path: 2 | Received: by 10.213.2.204 with SMTP id 12cs233347ebk; Sun, 12 Dec 2010 10:13:13 -0800 3 | Received: by 10.91.51.19 with SMTP id d19mr3869811agk.183.1292177592502; Sun, 12 Dec 2010 10:13:12 -0800 4 | Received: from mail-yx0-f171.google.com (mail-yx0-f171.google.com [209.85.213.171]) by mx.google.com with ESMTP id d7si4681466and.167.2010.12.12.10.13.10; Sun, 12 Dec 2010 10:13:11 -0800 5 | Received: by mail-yx0-f171.google.com with SMTP id 11so3634988yxi.2 for 6 | ; Sun, 12 Dec 2010 10:13:10 -0800 (PST) 7 | Received: by 10.90.24.10 with SMTP id 10mr3890562agx.179.1292177590623; Sun, 12 Dec 2010 10:13:10 -0800 8 | Received: from [26.144.14.48] (m482436d0.tmodns.net [208.54.36.72]) by mx.google.com with ESMTPS id c34sm4564739anc.30.2010.12.12.10.13.08 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sun, 12 Dec 2010 10:13:09 -0800 9 | Date: Sun, 12 Dec 2010 13:13:01 -0500 10 | From: Chappy Youn 11 | To: Daniel Choi , 12 | Draculette Ko , 13 | Cookiemonster Youn 14 | Cc: Racoon 15 | Message-ID: <73734601-F016-4F3B-A0C8-0FF48011292F@gmail.com> 16 | Subject: Holiday potluck at Ray's 17 | Mime-Version: 1.0 18 | Content-Type: text/plain; 19 | charset=us-ascii; 20 | delsp=yes; 21 | format=flowed 22 | Content-Transfer-Encoding: 7bit 23 | Delivered-To: dhchoi@gmail.com 24 | Received-SPF: pass (google.com: domain of chappy1@gmail.com designates 25 | 209.85.213.171 as permitted sender) client-ip=209.85.213.171; 26 | Authentication-Results: mx.google.com; spf=pass (google.com: domain of 27 | chappy1@gmail.com designates 209.85.213.171 as permitted sender) 28 | smtp.mail=chappy1@gmail.com; dkim=pass (test mode) header.i=@gmail.com 29 | DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; 30 | h=domainkey-signature:received:received:message-id:from:to 31 | :content-type:content-transfer-encoding:x-mailer:mime-version 32 | :subject:date:cc; bh=2E6xsnWGlAai1MjVchauqPtC2J0dmGnscU+hCRvcScY=; 33 | b=joH+NKL712kaFO0ThbHEF/7q9qSf1O6Xi9u2TBCp3uQl0aEVwuqGFHcg+id0/Am5qM 34 | IoxNBItJn9zMUgmzzZcJSl5/LaxKwrj8NOn/eYF8fkKRecCbNUoCYV4Z0T7BkuPwpkWA 35 | PYPun1PZT8ArAM2aXoMzApEnzOCvf/ZkM78Q4= 36 | DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; 37 | h=message-id:from:to:content-type:content-transfer-encoding:x-mailer 38 | :mime-version:subject:date:cc; 39 | b=fCuCk6O03S/wqKttwtK0ePIAy7MFja+qOyIkt9X/ToJg8MiPoHh6UH5o0UaAlAEyE7 40 | 7C8iRyxjV4EC3vfQhzHUzZHFuXAOtPOF6ZSidHKbXVad3Wvv0zie9dV3pFXCbg0fyC8M 41 | c1nHTFM+So9DDIulICizW196SVSh65Ds+NVK4= 42 | X-Mailer: iPhone Mail (7C144) 43 | 44 | Guys, 45 | Tonight we will have a potluck at Ray's at 7. Pls bring food for 1.5 46 | ppl. 47 | 48 | Ray will provide wine and dessert. 49 | 50 | Also, we will be having a poor man's Yankee swap. Pls bring something 51 | gift wrapped from home. Nothing fancy, but something halfway decent or 52 | funny. 53 | 54 | El, make sure it's worth more than 50 cents. 55 | 56 | Chappy 57 | 58 | Sent from my iPhone 59 | -------------------------------------------------------------------------------- /iana/image.csv: -------------------------------------------------------------------------------- 1 | Name,Template,Reference 2 | aces,image/aces,[SMPTE][Howard_Lukk] 3 | avci,image/avci,[ISO-IEC_JTC1][David_Singer] 4 | avcs,image/avcs,[ISO-IEC_JTC1][David_Singer] 5 | bmp,image/bmp,[RFC7903] 6 | cgm,image/cgm,[Alan_Francis] 7 | dicom-rle,image/dicom-rle,[DICOM_Standards_Committee][David_Clunie] 8 | emf,image/emf,[RFC7903] 9 | example,image/example,[RFC4735] 10 | fits,image/fits,[RFC4047] 11 | g3fax,image/g3fax,[RFC1494] 12 | gif,,[RFC2045][RFC2046] 13 | heic,image/heic,[ISO-IEC_JTC1][David_Singer] 14 | heic-sequence,image/heic-sequence,[ISO-IEC_JTC1][David_Singer] 15 | heif,image/heif,[ISO-IEC_JTC1][David_Singer] 16 | heif-sequence,image/heif-sequence,[ISO-IEC_JTC1][David_Singer] 17 | ief,,[RFC1314] 18 | jls,image/jls,[DICOM_Standards_Committee][David_Clunie] 19 | jp2,image/jp2,[RFC3745] 20 | jpeg,,[RFC2045][RFC2046] 21 | jpm,image/jpm,[RFC3745] 22 | jpx,image/jpx,[RFC3745] 23 | ktx,,[Khronos][Mark_Callow][http://www.khronos.org/opengles/sdk/tools/KTX/file_format_spec/#mimeregistration] 24 | naplps,image/naplps,[Ilya_Ferber] 25 | png,image/png,[Glenn_Randers-Pehrson] 26 | prs.btif,image/prs.btif,[Ben_Simon] 27 | prs.pti,image/prs.pti,[Juern_Laun] 28 | pwg-raster,image/pwg-raster,[Michael_Sweet] 29 | svg+xml,,[W3C][http://www.w3.org/TR/SVG/mimereg.html] 30 | t38,image/t38,[RFC3362] 31 | tiff,image/tiff,[RFC3302] 32 | tiff-fx,image/tiff-fx,[RFC3950] 33 | vnd.adobe.photoshop,image/vnd.adobe.photoshop,[Kim_Scarborough] 34 | vnd.airzip.accelerator.azv,image/vnd.airzip.accelerator.azv,[Gary_Clueit] 35 | vnd.cns.inf2,image/vnd.cns.inf2,[Ann_McLaughlin] 36 | vnd.dece.graphic,image/vnd.dece.graphic,[Michael_A_Dolan] 37 | vnd.djvu,image/vnd.djvu,[Leon_Bottou] 38 | vnd.dwg,image/vnd.dwg,[Jodi_Moline] 39 | vnd.dxf,image/vnd.dxf,[Jodi_Moline] 40 | vnd.dvb.subtitle,image/vnd.dvb.subtitle,[Peter_Siebert][Michael_Lagally] 41 | vnd.fastbidsheet,image/vnd.fastbidsheet,[Scott_Becker] 42 | vnd.fpx,image/vnd.fpx,[Marc_Douglas_Spencer] 43 | vnd.fst,image/vnd.fst,[Arild_Fuldseth] 44 | vnd.fujixerox.edmics-mmr,image/vnd.fujixerox.edmics-mmr,[Masanori_Onda] 45 | vnd.fujixerox.edmics-rlc,image/vnd.fujixerox.edmics-rlc,[Masanori_Onda] 46 | vnd.globalgraphics.pgb,image/vnd.globalgraphics.pgb,[Martin_Bailey] 47 | vnd.microsoft.icon,image/vnd.microsoft.icon,[Simon_Butcher] 48 | vnd.mix,image/vnd.mix,[Saveen_Reddy] 49 | vnd.ms-modi,image/vnd.ms-modi,[Gregory_Vaughan] 50 | vnd.mozilla.apng,image/vnd.mozilla.apng,[Stuart_Parmenter] 51 | vnd.net-fpx,image/vnd.net-fpx,[Marc_Douglas_Spencer] 52 | vnd.radiance,image/vnd.radiance,[Randolph_Fritz][Greg_Ward] 53 | vnd.sealed.png,image/vnd.sealed.png,[David_Petersen] 54 | vnd.sealedmedia.softseal.gif,image/vnd.sealedmedia.softseal.gif,[David_Petersen] 55 | vnd.sealedmedia.softseal.jpg,image/vnd.sealedmedia.softseal.jpg,[David_Petersen] 56 | vnd.svf,image/vnd.svf,[Jodi_Moline] 57 | vnd.tencent.tap,image/vnd.tencent.tap,[Ni_Hui] 58 | vnd.valve.source.texture,image/vnd.valve.source.texture,[Henrik_Andersson] 59 | vnd.wap.wbmp,image/vnd.wap.wbmp,[Peter_Stark] 60 | vnd.xiff,image/vnd.xiff,[Steven_Martin] 61 | vnd.zbrush.pcx,image/vnd.zbrush.pcx,[Chris_Charabaruk] 62 | wmf,image/wmf,[RFC7903] 63 | x-emf - DEPRECATED in favor of image/emf,image/emf,[RFC7903] 64 | x-wmf - DEPRECATED in favor of image/wmf,image/wmf,[RFC7903] 65 | -------------------------------------------------------------------------------- /media-types/model/x3d+xml/HelloWorld.x3d: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /media-types/model/vrml/HelloWorld.wrl: -------------------------------------------------------------------------------- 1 | #VRML V2.0 utf8 2 | # X3D-to-VRML-97 XSL translation autogenerated by X3dToVrml97.xslt 3 | # http://www.web3d.org/x3d/content/X3dToVrml97.xslt 4 | # Generated using XSLT processor: SAXON 9.1.0.2 from Saxonica 5 | 6 | # [X3D] VRML V3.3 utf8 7 | # PROFILE Immersive 8 | # [X3D] version=3.3 9 | # [X3D] noNamespaceSchemaLocation=http://www.web3d.org/specifications/x3d-3.3.xsd 10 | # [head] 11 | 12 | # META "title" "HelloWorld.x3d" 13 | # META "description" "Simple X3D scene example: Hello World!" 14 | # META "created" "30 October 2000" 15 | # META "modified" "12 October 2015" 16 | # META "creator" "Don Brutzman" 17 | # META "Image" "HelloWorld.tall.png" 18 | # META "reference" "http://en.wikipedia.org/wiki/Hello_world" 19 | # META "reference" "https://en.wikipedia.org/wiki/Hello#.22Hello.2C_World.22_computer_program" 20 | # META "reference" "https://en.wikipedia.org/wiki/\"Hello,_World!\"_program" 21 | # META "reference" "http://en.wikibooks.org/w/index.php?title=Computer_Programming/Hello_world" 22 | # META "reference" "http://www.HelloWorldExample.net" 23 | # META "reference" "http://www.web3D.org" 24 | # META "reference" "http://www.web3d.org/realtime-3d/news/internationalization-x3d" 25 | # META "reference" "http://www.web3d.org/x3d/content/examples/HelloWorld.x3d" 26 | # META "reference" "http://X3dGraphics.com/examples/X3dForAdvancedModeling/HelloWorldScenes" 27 | # META "identifier" "http://X3dGraphics.com/examples/X3dForWebAuthors/Chapter01-TechnicalOverview/HelloWorld.x3d" 28 | # META "license" "http://www.web3d.org/x3d/content/examples/license.html" 29 | # META "generator" "X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit" 30 | # Alternate encodings: VRML97, X3D ClassicVRML Encoding, X3D Compressed Binary Encoding (CBE), X3DOM, JSON 31 | # META "reference" "HelloWorld.wrl" 32 | # META "reference" "HelloWorld.x3dv" 33 | # META "reference" "HelloWorld.x3db" 34 | # META "reference" "HelloWorld.xhtml" 35 | # META "reference" "HelloWorld.json" 36 | 37 | # [Scene] ========== ========== ========== 38 | 39 | NavigationInfo { type [ "EXAMINE" "ANY" ] } ### Default X3D NavigationInfo 40 | 41 | # Example scene to illustrate X3D nodes and fields (XML elements and attributes) 42 | WorldInfo { 43 | title "Hello world!" 44 | } 45 | Group { 46 | children [ 47 | DEF ViewUpClose Viewpoint { 48 | centerOfRotation 0 -1 0 49 | description "Hello world!" 50 | position 0 -1 7 51 | } 52 | Transform { 53 | rotation 0 1 0 3 54 | children [ 55 | Shape { 56 | geometry Sphere { 57 | } 58 | appearance Appearance { 59 | material DEF MaterialLightBlue Material { 60 | diffuseColor 0.1 0.5 1 61 | } 62 | texture DEF ImageCloudlessEarth ImageTexture { 63 | url [ "earth-topo.png" "earth-topo.jpg" "earth-topo-small.gif" "http://www.web3d.org/x3d/content/examples/Basic/earth-topo.png" "http://www.web3d.org/x3d/content/examples/Basic/earth-topo.jpg" "http://www.web3d.org/x3d/content/examples/Basic/earth-topo-small.gif" ] 64 | } 65 | } 66 | } 67 | ] 68 | } 69 | Transform { 70 | translation 0 -2 0 71 | children [ 72 | Shape { 73 | geometry DEF TextMessage Text { 74 | string [ "Hello" "world!" ] 75 | fontStyle FontStyle { 76 | justify [ "MIDDLE" "MIDDLE" ] 77 | } 78 | } 79 | appearance Appearance { 80 | material USE MaterialLightBlue 81 | } 82 | } 83 | ] 84 | } 85 | ] 86 | } 87 | -------------------------------------------------------------------------------- /media-types/application/marcxml+xml/sandburg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 01142cam 2200301 a 4500 5 | 92005291 6 | DLC 7 | 19930521155141.9 8 | 920219s1993 caua j 000 0 eng 9 | 10 | 92005291 11 | 12 | 13 | 0152038655 : 14 | $15.95 15 | 16 | 17 | DLC 18 | DLC 19 | DLC 20 | 21 | 22 | lcac 23 | 24 | 25 | PS3537.A618 26 | A88 1993 27 | 28 | 29 | 811/.52 30 | 20 31 | 32 | 33 | Sandburg, Carl, 34 | 1878-1967. 35 | 36 | 37 | Arithmetic / 38 | Carl Sandburg ; illustrated as an anamorphic adventure by Ted Rand. 39 | 40 | 41 | 1st ed. 42 | 43 | 44 | San Diego : 45 | Harcourt Brace Jovanovich, 46 | c1993. 47 | 48 | 49 | 1 v. (unpaged) : 50 | ill. (some col.) ; 51 | 26 cm. 52 | 53 | 54 | One Mylar sheet included in pocket. 55 | 56 | 57 | A poem about numbers and their characteristics. Features anamorphic, or distorted, drawings which can be restored to normal by viewing from a particular angle or by viewing the image's reflection in the provided Mylar cone. 58 | 59 | 60 | Arithmetic 61 | Juvenile poetry. 62 | 63 | 64 | Children's poetry, American. 65 | 66 | 67 | Arithmetic 68 | Poetry. 69 | 70 | 71 | American poetry. 72 | 73 | 74 | Visual perception. 75 | 76 | 77 | Rand, Ted, 78 | ill. 79 | 80 | 81 | -------------------------------------------------------------------------------- /iana/text.csv: -------------------------------------------------------------------------------- 1 | Name,Template,Reference 2 | 1d-interleaved-parityfec,text/1d-interleaved-parityfec,[RFC6015] 3 | cache-manifest,text/cache-manifest,[W3C][Robin_Berjon] 4 | calendar,text/calendar,[RFC5545] 5 | css,text/css,[RFC2318] 6 | csv,text/csv,[RFC4180][RFC7111] 7 | csv-schema,text/csv-schema,[National_Archives_UK][David_Underdown] 8 | directory - DEPRECATED by RFC6350,text/directory,[RFC2425][RFC6350] 9 | dns,text/dns,[RFC4027] 10 | ecmascript - OBSOLETED in favor of application/ecmascript,text/ecmascript,[RFC4329] 11 | encaprtp,text/encaprtp,[RFC6849] 12 | enriched,,[RFC1896] 13 | example,text/example,[RFC4735] 14 | fwdred,text/fwdred,[RFC6354] 15 | grammar-ref-list,text/grammar-ref-list,[RFC6787] 16 | html,text/html,[W3C][Robin_Berjon] 17 | javascript - OBSOLETED in favor of application/javascript,text/javascript,[RFC4329] 18 | jcr-cnd,text/jcr-cnd,[Peeter_Piegaze] 19 | markdown,text/markdown,[RFC7763] 20 | mizar,text/mizar,[Jesse_Alama] 21 | n3,text/n3,[W3C][Eric_Prudhommeaux] 22 | parameters,text/parameters,[RFC7826] 23 | parityfec,,[RFC5109] 24 | plain,,[RFC2046][RFC3676][RFC5147] 25 | provenance-notation,text/provenance-notation,[W3C][Ivan_Herman] 26 | prs.fallenstein.rst,text/prs.fallenstein.rst,[Benja_Fallenstein] 27 | prs.lines.tag,text/prs.lines.tag,[John_Lines] 28 | prs.prop.logic,text/prs.prop.logic,[Hans-Dieter_A._Hiep] 29 | raptorfec,text/raptorfec,[RFC6682] 30 | RED,text/RED,[RFC4102] 31 | rfc822-headers,text/rfc822-headers,[RFC6522] 32 | richtext,,[RFC2045][RFC2046] 33 | rtf,text/rtf,[Paul_Lindner] 34 | rtp-enc-aescm128,text/rtp-enc-aescm128,[_3GPP] 35 | rtploopback,text/rtploopback,[RFC6849] 36 | rtx,text/rtx,[RFC4588] 37 | sgml,text/sgml,[RFC1874] 38 | strings,text/strings,[IEEE-ISTO-PWG-PPP] 39 | t140,text/t140,[RFC4103] 40 | tab-separated-values,text/tab-separated-values,[Paul_Lindner] 41 | troff,text/troff,[RFC4263] 42 | turtle,text/turtle,[W3C][Eric_Prudhommeaux] 43 | ulpfec,text/ulpfec,[RFC5109] 44 | uri-list,text/uri-list,[RFC2483] 45 | vcard,text/vcard,[RFC6350] 46 | vnd.a,text/vnd.a,[Regis_Dehoux] 47 | vnd.abc,text/vnd.abc,[Steve_Allen] 48 | vnd.ascii-art,text/vnd.ascii-art,[Kim_Scarborough] 49 | vnd.curl,text/vnd.curl,[Robert_Byrnes] 50 | vnd.debian.copyright,text/vnd.debian.copyright,[Charles_Plessy] 51 | vnd.DMClientScript,text/vnd.DMClientScript,[Dan_Bradley] 52 | vnd.dvb.subtitle,text/vnd.dvb.subtitle,[Peter_Siebert][Michael_Lagally] 53 | vnd.esmertec.theme-descriptor,text/vnd.esmertec.theme-descriptor,[Stefan_Eilemann] 54 | vnd.fly,text/vnd.fly,[John-Mark_Gurney] 55 | vnd.fmi.flexstor,text/vnd.fmi.flexstor,[Kari_E._Hurtta] 56 | vnd.gml,text/vnd.gml,[Mi_Tar] 57 | vnd.graphviz,text/vnd.graphviz,[John_Ellson] 58 | vnd.hgl,text/vnd.hgl,[Heungsub_Lee] 59 | vnd.in3d.3dml,text/vnd.in3d.3dml,[Michael_Powers] 60 | vnd.in3d.spot,text/vnd.in3d.spot,[Michael_Powers] 61 | vnd.IPTC.NewsML,text/vnd.IPTC.NewsML,[IPTC] 62 | vnd.IPTC.NITF,text/vnd.IPTC.NITF,[IPTC] 63 | vnd.latex-z,text/vnd.latex-z,[Mikusiak_Lubos] 64 | vnd.motorola.reflex,text/vnd.motorola.reflex,[Mark_Patton] 65 | vnd.ms-mediapackage,text/vnd.ms-mediapackage,[Jan_Nelson] 66 | vnd.net2phone.commcenter.command,text/vnd.net2phone.commcenter.command,[Feiyu_Xie] 67 | vnd.radisys.msml-basic-layout,text/vnd.radisys.msml-basic-layout,[RFC5707] 68 | vnd.senx.warpscript,text/vnd.senx.warpscript,[Pierre_Papin] 69 | vnd.si.uricatalogue - OBSOLETED by request,text/vnd.si.uricatalogue,[Nicholas_Parks_Young] 70 | vnd.sun.j2me.app-descriptor,text/vnd.sun.j2me.app-descriptor,[Gary_Adams] 71 | vnd.trolltech.linguist,text/vnd.trolltech.linguist,[David_Lee_Lambert] 72 | vnd.wap.si,text/vnd.wap.si,[WAP-Forum] 73 | vnd.wap.sl,text/vnd.wap.sl,[WAP-Forum] 74 | vnd.wap.wml,text/vnd.wap.wml,[Peter_Stark] 75 | vnd.wap.wmlscript,text/vnd.wap.wmlscript,[Peter_Stark] 76 | xml,text/xml,[RFC7303] 77 | xml-external-parsed-entity,text/xml-external-parsed-entity,[RFC7303] 78 | -------------------------------------------------------------------------------- /media-types/text/csv/countries(204)_olympics.csv: -------------------------------------------------------------------------------- 1 | Code,Name 2 | AFG,Afghanistan 3 | ALB,Albania 4 | ALG,Algeria 5 | AND,Andorra 6 | ANG,Angola 7 | ANT,Antigua and Barbuda 8 | ARG,Argentina 9 | ARM,Armenia 10 | ARU,Aruba 11 | ASA,American Samoa 12 | AUS,Australia 13 | AUT,Austria 14 | AZE,Azerbaijan 15 | BAH,Bahamas 16 | BAN,Bangladesh 17 | BAR,Barbados 18 | BDI,Burundi 19 | BEL,Belgium 20 | BEN,Benin 21 | BER,Bermuda 22 | BHU,Bhutan 23 | BIH,Bosnia and Herzegovina 24 | BIZ,Belize 25 | BLR,Belarus 26 | BOL,Bolivia 27 | BOT,Botswana 28 | BRA,Brazil 29 | BRN,Bahrain 30 | BRU,Brunei 31 | BUL,Bulgaria 32 | BUR,Burkina Faso 33 | CAF,Central African Republic 34 | CAM,Cambodia 35 | CAN,Canada 36 | CAY,Cayman Islands 37 | CGO,Congo 38 | CHA,Chad 39 | CHI,Chile 40 | CHN,China 41 | CIV,Côte d'Ivoire 42 | CMR,Cameroon 43 | COD,Congo DR 44 | COK,Cook Islands 45 | COL,Colombia 46 | COM,Comoros 47 | CPV,Cape Verde 48 | CRC,Costa Rica 49 | CRO,Croatia 50 | CUB,Cuba 51 | CYP,Cyprus 52 | CZE,Czech Republic 53 | DEN,Denmark 54 | DJI,Djibouti 55 | DMA,Dominica 56 | DOM,Dominican Republic 57 | ECU,Ecuador 58 | EGY,Egypt 59 | ERI,Eritrea 60 | ESA,El Salvador 61 | ESP,Spain 62 | EST,Estonia 63 | ETH,Ethiopia 64 | FIJ,Fiji 65 | FIN,Finland 66 | FRA,France 67 | FSM,Micronesia 68 | GAB,Gabon 69 | GAM,The Gambia 70 | GBR,Great Britain 71 | GBS,Guinea-Bissau 72 | GEO,Georgia 73 | GEQ,Equatorial Guinea 74 | GER,Germany 75 | GHA,Ghana 76 | GRE,Greece 77 | GRN,Grenada 78 | GUA,Guatemala 79 | GUI,Guinea 80 | GUM,Guam 81 | GUY,Guyana 82 | HAI,Haiti 83 | HKG,Hong Kong 84 | HON,Honduras 85 | HUN,Hungary 86 | INA,Indonesia 87 | IND,India 88 | IRI,Iran 89 | IRL,Ireland 90 | IRQ,Iraq 91 | ISL,Iceland 92 | ISR,Israel 93 | ISV,Virgin Islands (US) 94 | ITA,Italy 95 | IVB,British Virgin Islands 96 | JAM,Jamaica 97 | JOR,Jordan 98 | JPN,Japan 99 | KAZ,Kazakhstan 100 | KEN,Kenya 101 | KGZ,Kyrgyzstan 102 | KIR,Kiribati 103 | KOR,South Korea 104 | KSA,Saudi Arabia 105 | KUW,Kuwait 106 | LAO,Laos 107 | LAT,Latvia 108 | LBA,Libya 109 | LBR,Liberia 110 | LCA,Saint Lucia 111 | LES,Lesotho 112 | LIB,Lebanon 113 | LIE,Liechtenstein 114 | LTU,Lithuania 115 | LUX,Luxembourg 116 | MAD,Madagascar 117 | MAR,Morocco 118 | MAS,Malaysia 119 | MAW,Malawi 120 | MDA,Moldova 121 | MDV,Maldives 122 | MEX,Mexico 123 | MGL,Mongolia 124 | MHL,Marshall Islands 125 | MKD,Macedonia 126 | MLI,Mali 127 | MLT,Malta 128 | MNE,Montenegro 129 | MON,Monaco 130 | MOZ,Mozambique 131 | MRI,Mauritius 132 | MTN,Mauritania 133 | MYA,Myanmar 134 | NAM,Namibia 135 | NCA,Nicaragua 136 | NED,Netherlands 137 | NEP,Nepal 138 | NGR,Nigeria 139 | NIG,Niger 140 | NOR,Norway 141 | NRU,Nauru 142 | NZL,New Zealand 143 | OMA,Oman 144 | PAK,Pakistan 145 | PAN,Panama 146 | PAR,Paraguay 147 | PER,Peru 148 | PHI,Philippines 149 | PLE,Palestine 150 | PLW,Palau 151 | PNG,Papua New Guinea 152 | POL,Poland 153 | POR,Portugal 154 | PRK,North Korea 155 | PUR,Puerto Rico 156 | QAT,Qatar 157 | ROU,Romania 158 | RSA,South Africa 159 | RUS,Russia 160 | RWA,Rwanda 161 | SAM,Samoa 162 | SEN,Senegal 163 | SEY,Seychelles 164 | SIN,Singapore 165 | SKN,Saint Kitts and Nevis 166 | SLE,Sierra Leone 167 | SLO,Slovenia 168 | SMR,San Marino 169 | SOL,Solomon Islands 170 | SOM,Somalia 171 | SRB,Serbia 172 | SRI,Sri Lanka 173 | STP,São Tomé and Príncipe 174 | SUD,Sudan 175 | SUI,Switzerland 176 | SUR,Suriname 177 | SVK,Slovakia 178 | SWE,Sweden 179 | SWZ,Swaziland 180 | SYR,Syria 181 | TAN,Tanzania 182 | TGA,Tonga 183 | THA,Thailand 184 | TJK,Tajikistan 185 | TKM,Turkmenistan 186 | TLS,Timor-Leste 187 | TOG,Togo 188 | TPE,Taiwan 189 | TTO,Trinidad and Tobago 190 | TUN,Tunisia 191 | TUR,Turkey 192 | TUV,Tuvalu 193 | UAE,United Arab Emirates 194 | UGA,Uganda 195 | UKR,Ukraine 196 | URU,Uruguay 197 | USA,United States 198 | UZB,Uzbekistan 199 | VAN,Vanuatu 200 | VEN,Venezuela 201 | VIE,Vietnam 202 | VIN,Saint Vincent and the Grenadines 203 | YEM,Yemen 204 | ZAM,Zambia 205 | ZIM,Zimbabwe 206 | -------------------------------------------------------------------------------- /iana/video.csv: -------------------------------------------------------------------------------- 1 | Name,Template,Reference 2 | 1d-interleaved-parityfec,video/1d-interleaved-parityfec,[RFC6015] 3 | 3gpp,video/3gpp,[RFC3839][RFC6381] 4 | 3gpp2,video/3gpp2,[RFC4393][RFC6381] 5 | 3gpp-tt,video/3gpp-tt,[RFC4396] 6 | BMPEG,video/BMPEG,[RFC3555] 7 | BT656,video/BT656,[RFC3555] 8 | CelB,video/CelB,[RFC3555] 9 | DV,video/DV,[RFC6469] 10 | encaprtp,video/encaprtp,[RFC6849] 11 | example,video/example,[RFC4735] 12 | H261,video/H261,[RFC4587] 13 | H263,video/H263,[RFC3555] 14 | H263-1998,video/H263-1998,[RFC4629] 15 | H263-2000,video/H263-2000,[RFC4629] 16 | H264,video/H264,[RFC6184] 17 | H264-RCDO,video/H264-RCDO,[RFC6185] 18 | H264-SVC,video/H264-SVC,[RFC6190] 19 | H265,video/H265,[RFC7798] 20 | iso.segment,video/iso.segment,[David_Singer][ISO-IEC_JTC1] 21 | JPEG,video/JPEG,[RFC3555] 22 | jpeg2000,video/jpeg2000,[RFC5371][RFC5372] 23 | mj2,video/mj2,[RFC3745] 24 | MP1S,video/MP1S,[RFC3555] 25 | MP2P,video/MP2P,[RFC3555] 26 | MP2T,video/MP2T,[RFC3555] 27 | mp4,video/mp4,[RFC4337][RFC6381] 28 | MP4V-ES,video/MP4V-ES,[RFC6416] 29 | MPV,video/MPV,[RFC3555] 30 | mpeg,,[RFC2045][RFC2046] 31 | mpeg4-generic,video/mpeg4-generic,[RFC3640] 32 | nv,video/nv,[RFC4856] 33 | ogg,video/ogg,[RFC5334][RFC7845] 34 | parityfec,,[RFC5109] 35 | pointer,video/pointer,[RFC2862] 36 | quicktime,video/quicktime,[RFC6381][Paul_Lindner] 37 | raptorfec,video/raptorfec,[RFC6682] 38 | raw,,[RFC4175] 39 | rtp-enc-aescm128,video/rtp-enc-aescm128,[_3GPP] 40 | rtploopback,video/rtploopback,[RFC6849] 41 | rtx,video/rtx,[RFC4588] 42 | smpte291,video/smpte291,[RFC8331] 43 | SMPTE292M,video/SMPTE292M,[RFC3497] 44 | ulpfec,video/ulpfec,[RFC5109] 45 | vc1,video/vc1,[RFC4425] 46 | vc2,video/vc2,[RFC8450] 47 | vnd.CCTV,video/vnd.CCTV,[Frank_Rottmann] 48 | vnd.dece.hd,video/vnd.dece.hd,[Michael_A_Dolan] 49 | vnd.dece.mobile,video/vnd.dece.mobile,[Michael_A_Dolan] 50 | vnd.dece.mp4,video/vnd.dece.mp4,[Michael_A_Dolan] 51 | vnd.dece.pd,video/vnd.dece.pd,[Michael_A_Dolan] 52 | vnd.dece.sd,video/vnd.dece.sd,[Michael_A_Dolan] 53 | vnd.dece.video,video/vnd.dece.video,[Michael_A_Dolan] 54 | vnd.directv.mpeg,video/vnd.directv.mpeg,[Nathan_Zerbe] 55 | vnd.directv.mpeg-tts,video/vnd.directv.mpeg-tts,[Nathan_Zerbe] 56 | vnd.dlna.mpeg-tts,video/vnd.dlna.mpeg-tts,[Edwin_Heredia] 57 | vnd.dvb.file,video/vnd.dvb.file,[Peter_Siebert][Kevin_Murray] 58 | vnd.fvt,video/vnd.fvt,[Arild_Fuldseth] 59 | vnd.hns.video,video/vnd.hns.video,[Swaminathan] 60 | vnd.iptvforum.1dparityfec-1010,video/vnd.iptvforum.1dparityfec-1010,[Shuji_Nakamura] 61 | vnd.iptvforum.1dparityfec-2005,video/vnd.iptvforum.1dparityfec-2005,[Shuji_Nakamura] 62 | vnd.iptvforum.2dparityfec-1010,video/vnd.iptvforum.2dparityfec-1010,[Shuji_Nakamura] 63 | vnd.iptvforum.2dparityfec-2005,video/vnd.iptvforum.2dparityfec-2005,[Shuji_Nakamura] 64 | vnd.iptvforum.ttsavc,video/vnd.iptvforum.ttsavc,[Shuji_Nakamura] 65 | vnd.iptvforum.ttsmpeg2,video/vnd.iptvforum.ttsmpeg2,[Shuji_Nakamura] 66 | vnd.motorola.video,video/vnd.motorola.video,[Tom_McGinty] 67 | vnd.motorola.videop,video/vnd.motorola.videop,[Tom_McGinty] 68 | vnd.mpegurl,video/vnd.mpegurl,[Heiko_Recktenwald] 69 | vnd.ms-playready.media.pyv,video/vnd.ms-playready.media.pyv,[Steve_DiAcetis] 70 | vnd.nokia.interleaved-multimedia,video/vnd.nokia.interleaved-multimedia,[Petteri_Kangaslampi] 71 | vnd.nokia.mp4vr,video/vnd.nokia.mp4vr,[Miska_M._Hannuksela] 72 | vnd.nokia.videovoip,video/vnd.nokia.videovoip,[Nokia] 73 | vnd.objectvideo,video/vnd.objectvideo,[John_Clark] 74 | vnd.radgamettools.bink,video/vnd.radgamettools.bink,[Henrik_Andersson] 75 | vnd.radgamettools.smacker,video/vnd.radgamettools.smacker,[Henrik_Andersson] 76 | vnd.sealed.mpeg1,video/vnd.sealed.mpeg1,[David_Petersen] 77 | vnd.sealed.mpeg4,video/vnd.sealed.mpeg4,[David_Petersen] 78 | vnd.sealed.swf,video/vnd.sealed.swf,[David_Petersen] 79 | vnd.sealedmedia.softseal.mov,video/vnd.sealedmedia.softseal.mov,[David_Petersen] 80 | vnd.uvvu.mp4,video/vnd.uvvu.mp4,[Michael_A_Dolan] 81 | vnd.vivo,video/vnd.vivo,[John_Wolfe] 82 | VP8,video/VP8,[RFC7741] 83 | -------------------------------------------------------------------------------- /media-types/text/x-c++src/sample.cc: -------------------------------------------------------------------------------- 1 | // Sample program demonstrating the use of the Big Integer Library. 2 | 3 | // Standard libraries 4 | #include 5 | #include 6 | 7 | // `BigIntegerLibrary.hh' includes all of the library headers. 8 | #include "BigIntegerLibrary.hh" 9 | 10 | int main() { 11 | /* The library throws `const char *' error messages when things go 12 | * wrong. It's a good idea to catch them using a `try' block like this 13 | * one. Your C++ compiler might need a command-line option to compile 14 | * code that uses exceptions. */ 15 | try { 16 | BigInteger a; // a is 0 17 | int b = 535; 18 | 19 | /* Any primitive integer can be converted implicitly to a 20 | * BigInteger. */ 21 | a = b; 22 | 23 | /* The reverse conversion requires a method call (implicit 24 | * conversions were previously supported but caused trouble). 25 | * If a were too big for an int, the library would throw an 26 | * exception. */ 27 | b = a.toInt(); 28 | 29 | BigInteger c(a); // Copy a BigInteger. 30 | 31 | // The int literal is converted to a BigInteger. 32 | BigInteger d(-314159265); 33 | 34 | /* This won't compile (at least on 32-bit machines) because the 35 | * number is too big to be a primitive integer literal, and 36 | * there's no such thing as a BigInteger literal. */ 37 | //BigInteger e(3141592653589793238462643383279); 38 | 39 | // Instead you can convert the number from a string. 40 | std::string s("3141592653589793238462643383279"); 41 | BigInteger f = stringToBigInteger(s); 42 | 43 | // You can convert the other way too. 44 | std::string s2 = bigIntegerToString(f); 45 | 46 | // f is implicitly stringified and sent to std::cout. 47 | std::cout << f << std::endl; 48 | 49 | /* Let's do some math! The library overloads most of the 50 | * mathematical operators (including assignment operators) to 51 | * work on BigIntegers. There are also ``copy-less'' 52 | * operations; see `BigUnsigned.hh' for details. */ 53 | 54 | // Arithmetic operators 55 | BigInteger g(314159), h(265); 56 | std::cout << (g + h) << '\n' 57 | << (g - h) << '\n' 58 | << (g * h) << '\n' 59 | << (g / h) << '\n' 60 | << (g % h) << std::endl; 61 | 62 | // Bitwise operators 63 | BigUnsigned i(0xFF0000FF), j(0x0000FFFF); 64 | // The library's << operator recognizes base flags. 65 | std::cout.flags(std::ios::hex | std::ios::showbase); 66 | std::cout << (i & j) << '\n' 67 | << (i | j) << '\n' 68 | << (i ^ j) << '\n' 69 | // Shift distances are ordinary unsigned ints. 70 | << (j << 21) << '\n' 71 | << (j >> 10) << '\n'; 72 | std::cout.flags(std::ios::dec); 73 | 74 | // Let's do some heavy lifting and calculate powers of 314. 75 | int maxPower = 10; 76 | BigUnsigned x(1), big314(314); 77 | for (int power = 0; power <= maxPower; power++) { 78 | std::cout << "314^" << power << " = " << x << std::endl; 79 | x *= big314; // A BigInteger assignment operator 80 | } 81 | 82 | // Some big-integer algorithms (albeit on small integers). 83 | std::cout << gcd(BigUnsigned(60), 72) << '\n' 84 | << modinv(BigUnsigned(7), 11) << '\n' 85 | << modexp(BigUnsigned(314), 159, 2653) << std::endl; 86 | 87 | // Add your own code here to experiment with the library. 88 | } catch(char const* err) { 89 | std::cout << "The library threw an exception:\n" 90 | << err << std::endl; 91 | } 92 | 93 | return 0; 94 | } 95 | 96 | /* 97 | The original sample program produces this output: 98 | 99 | 3141592653589793238462643383279 100 | 314424 101 | 313894 102 | 83252135 103 | 1185 104 | 134 105 | 0xFF 106 | 0xFF00FFFF 107 | 0xFF00FF00 108 | 0x1FFFE00000 109 | 0x3F 110 | 314^0 = 1 111 | 314^1 = 314 112 | 314^2 = 98596 113 | 314^3 = 30959144 114 | 314^4 = 9721171216 115 | 314^5 = 3052447761824 116 | 314^6 = 958468597212736 117 | 314^7 = 300959139524799104 118 | 314^8 = 94501169810786918656 119 | 314^9 = 29673367320587092457984 120 | 314^10 = 9317437338664347031806976 121 | 12 122 | 8 123 | 1931 124 | 125 | */ 126 | -------------------------------------------------------------------------------- /readme.rst: -------------------------------------------------------------------------------- 1 | ====================== 2 | The Mimetype Menagerie 3 | ====================== 4 | 5 | ----- 6 | Goals 7 | ----- 8 | 9 | A single repository with an example file for every mimetype. 10 | 11 | ---- 12 | Why? 13 | ---- 14 | 15 | Because examples are useful and file extensions are unreliable. 16 | 17 | - Mimetype associations often rely on "magic" values 18 | at the beginning of files. Testing to see if these 19 | are working correctly requires an actual valid example file, 20 | not just an arbitrary file with the correct file extension. 21 | 22 | For example, this is the way that 23 | single-page and multipage DJVU are distinguished. 24 | 25 | https://bugzilla.gnome.org/show_bug.cgi?id=754467 26 | 27 | https://sourceforge.net/p/djvu/bugs/283/ 28 | 29 | - Even when mimetype associations are working correctly, 30 | applications themselves sometimes have trouble with a certain file format. 31 | Having a public-domain example to reference is helpful 32 | when submitting a bug report. 33 | 34 | For example, older versions of Inkscape 35 | would sometimes show the wrong color 36 | for imported Adobe Illustrator files. 37 | 38 | https://bugs.launchpad.net/inkscape/+bug/1518504 39 | 40 | -------- 41 | Criteria 42 | -------- 43 | 44 | In order of priority: 45 | 46 | #. Public domain or Creative Commons licensing. 47 | #. Correctly represents the mimetype. 48 | #. Stable URIs (permalinks are best). 49 | #. Relatively small file size (to save disk space and bandwidth). 50 | 51 | ----------------- 52 | Is that possible? 53 | ----------------- 54 | 55 | The IANA lists `about 1800 registered mimetypes`_, 56 | some of which are deprecated or duplicates. 57 | There are many more which are unofficial. 58 | 59 | It's a big job, but not impossible. 60 | See the `coverage report`_ for details. 61 | 62 | .. _about 1800 registered mimetypes: https://www.iana.org/assignments/media-types/media-types.xhtml 63 | .. _coverage report: coverage_report.txt 64 | 65 | --------------- 66 | Example usecase 67 | --------------- 68 | 69 | Suppose you want an example of a VRML file. 70 | 71 | `Wikipedia discusses VRML`_ and links to examples, 72 | but finding an actual VRML file via web search is non-trivial. 73 | 74 | A Google filetype search for ``.vrml`` files? Not helpful. 75 | 76 | https://google.com/search?q=filetype%3Avrml 77 | 78 | Oops, that should be ``.wrl`` files. 79 | 80 | https://google.com/search?q=filetype%3Awrl 81 | 82 | But most of the results still aren't relevant. 83 | 84 | Even if you find a good link, 85 | you either have to keep track of the file 86 | or bookmark the link, 87 | which could give a 404 the next time you open it. 88 | 89 | .. _Wikipedia discusses VRML: https://en.wikipedia.org/wiki/VRML 90 | 91 | With a mimetype menagerie, 92 | it's as simple as a link to a directory: 93 | 94 | ``_ 95 | 96 | And finding files from scratch 97 | is a simple search with a file manager 98 | or on the commandline like this:: 99 | 100 | $ cd media-types/ 101 | $ find . -iname '*VRML*' 102 | ./model/vrml 103 | $ ls model/vrml/ 104 | HelloWorld.wrl 105 | 106 | ----- 107 | Notes 108 | ----- 109 | 110 | Some mimetypes may not have any public domain examples, 111 | or may be patent-encumbered. 112 | These can be linked to, 113 | but will have to be omitted from the actual git repository. 114 | 115 | ---------------- 116 | Similar projects 117 | ---------------- 118 | 119 | The fuzzing program American Fuzzy Lop (afl) 120 | has a number of testcases, 121 | such as archives and image formats: 122 | 123 | https://github.com/loverszhaokai/AFL/tree/master/testcases 124 | 125 | The FFMPEG project has a compendium of video files, 126 | though it's unclear how many are public domain. 127 | 128 | http://samples.ffmpeg.org/ 129 | 130 | Alex Schiller's `file format commons`_ is similar, 131 | though is not organized by mimetype. 132 | 133 | .. _file format commons: https://github.com/alexschiller/file-format-commons 134 | 135 | The `test documents for Apache's Tika parsers`_ are not organized by mimetype, 136 | but are impressively comprehensive. 137 | 138 | .. _test documents for Apache's Tika parsers: https://github.com/apache/tika/tree/master/tika-parsers/src/test/resources/test-documents 139 | 140 | Ubuntu includes the ``example-content`` package. 141 | 142 | https://wiki.ubuntu.com/ExampleContent 143 | -------------------------------------------------------------------------------- /media-types/model/vrml/PINTST.wrl: -------------------------------------------------------------------------------- 1 | #VRML V2.0 utf8 2 | #Exported from Wings 3D 0.98.25 3 | DEF cube14 Transform { 4 | children [ 5 | Shape { 6 | appearance Appearance { 7 | material DEF body Material { 8 | diffuseColor 0.208889 0.425710 0.626667 9 | emissiveColor 0.00000e+0 0.00000e+0 0.00000e+0 10 | specularColor 1.00000 1.00000 1.00000 11 | ambientIntensity 1.00000 12 | transparency 0.00000e+0 13 | shininess 1.00000 14 | } 15 | } 16 | geometry IndexedFaceSet { 17 | coord Coordinate { point [ 18 | -0.403321 -0.500000 0.994000, 19 | -0.503321 -0.400000 0.994000, 20 | 0.403321 -0.500000 0.994000, 21 | 0.503321 -0.400000 0.994000, 22 | -0.503321 0.400000 0.994000, 23 | -0.403321 0.500000 0.994000, 24 | 0.403321 0.500000 0.994000, 25 | 0.503321 0.400000 0.994000, 26 | -0.403321 -0.500000 -6.00000e-3, 27 | -0.503321 -0.400000 -6.00000e-3, 28 | 0.403321 -0.500000 -6.00000e-3, 29 | 0.503321 -0.400000 -6.00000e-3, 30 | -0.503321 0.400000 -6.00000e-3, 31 | -0.403321 0.500000 -6.00000e-3, 32 | 0.403321 0.500000 -6.00000e-3, 33 | 0.503321 0.400000 -6.00000e-3] 34 | } 35 | coordIndex [ 36 | 0, 2, 3, 7, 6, 5, 4, 1, -1, 37 | 1, 4, 12, 9, -1, 38 | 5, 6, 14, 13, -1, 39 | 7, 3, 11, 15, -1, 40 | 8, 10, 2, 0, -1, 41 | 9, 8, 0, 1, -1, 42 | 9, 12, 13, 14, 15, 11, 10, 8, -1, 43 | 11, 3, 2, 10, -1, 44 | 13, 12, 4, 5, -1, 45 | 15, 14, 6, 7, -1 46 | ] 47 | } 48 | } 49 | ] 50 | } 51 | 52 | DEF cube1_copy13 Transform { 53 | children [ 54 | Shape { 55 | appearance Appearance { 56 | material DEF pins Material { 57 | diffuseColor 0.760000 0.760000 0.760000 58 | emissiveColor 0.00000e+0 0.00000e+0 0.00000e+0 59 | specularColor 1.00000 1.00000 1.00000 60 | ambientIntensity 1.00000 61 | transparency 0.00000e+0 62 | shininess 1.00000 63 | } 64 | } 65 | geometry IndexedFaceSet { 66 | coord Coordinate { point [ 67 | 1.34654e-3 0.103437 2.97200, 68 | 3.61707e-2 9.65100e-2 2.97200, 69 | 6.56932e-2 7.67836e-2 2.97200, 70 | 8.54195e-2 4.72610e-2 2.97200, 71 | 9.23464e-2 1.24368e-2 2.97200, 72 | 8.54194e-2 -2.23873e-2 2.97200, 73 | 6.56931e-2 -5.19098e-2 2.97200, 74 | 3.61705e-2 -7.16361e-2 2.97200, 75 | 1.34630e-3 -7.85630e-2 2.97200, 76 | -3.34779e-2 -7.16360e-2 2.97200, 77 | -6.30004e-2 -5.19097e-2 2.97200, 78 | -8.27267e-2 -2.23871e-2 2.97200, 79 | -8.96536e-2 1.24371e-2 2.97200, 80 | -8.27266e-2 4.72613e-2 2.97200, 81 | -6.30002e-2 7.67838e-2 2.97200, 82 | -3.34777e-2 9.65101e-2 2.97200, 83 | 1.34678e-3 0.103437 -0.986000, 84 | 3.61710e-2 9.65100e-2 -0.986000, 85 | 6.56935e-2 7.67836e-2 -0.986000, 86 | 8.54197e-2 4.72610e-2 -0.986000, 87 | 9.23467e-2 1.24368e-2 -0.986000, 88 | 8.54197e-2 -2.23873e-2 -0.986000, 89 | 6.56933e-2 -5.19098e-2 -0.986000, 90 | 3.61707e-2 -7.16361e-2 -0.986000, 91 | 1.34654e-3 -7.85630e-2 -0.986000, 92 | -3.34776e-2 -7.16360e-2 -0.986000, 93 | -6.30001e-2 -5.19097e-2 -0.986000, 94 | -8.27264e-2 -2.23871e-2 -0.986000, 95 | -8.96533e-2 1.24371e-2 -0.986000, 96 | -8.27263e-2 4.72613e-2 -0.986000, 97 | -6.30000e-2 7.67838e-2 -0.986000, 98 | -3.34774e-2 9.65101e-2 -0.986000] 99 | } 100 | coordIndex [ 101 | 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 15, -1, 102 | 16, 0, 1, 17, -1, 103 | 17, 1, 2, 18, -1, 104 | 18, 2, 3, 19, -1, 105 | 19, 3, 4, 20, -1, 106 | 20, 4, 5, 21, -1, 107 | 21, 5, 6, 22, -1, 108 | 22, 6, 7, 23, -1, 109 | 23, 7, 8, 24, -1, 110 | 24, 8, 9, 25, -1, 111 | 25, 9, 10, 26, -1, 112 | 26, 10, 11, 27, -1, 113 | 27, 11, 12, 28, -1, 114 | 28, 12, 13, 29, -1, 115 | 29, 13, 14, 30, -1, 116 | 30, 14, 15, 31, -1, 117 | 31, 15, 0, 16, -1, 118 | 31, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1 119 | ] 120 | } 121 | } 122 | ] 123 | } 124 | 125 | -------------------------------------------------------------------------------- /todo.md: -------------------------------------------------------------------------------- 1 | ---------------- 2 | Mimetypes to add 3 | ---------------- 4 | 5 | - `application` 6 | - [x] [`application/rtf`](media-types/application/rtf/) Rich Text Format ([`.rtf`](https://en.wikipedia.org/wiki/Rich_Text_Format)) 7 | - [x] [`application/zip`](media-types/application/zip/) Zip file ([`.zip`](https://en.wikipedia.org/wiki/Zip_%28file_format%29)) 8 | - [ ] `application/x-cue` [Cue sheet](https://en.wikipedia.org/wiki/Cue_sheet_(computing)) 9 | - [x] [`application/x-compressed-tar`](media-types/application/x-compressed-tar/) Gzipped tar file ([`.tar`](https://en.wikipedia.org/wiki/Tar_%28computing%29)[`.gz`](https://en.wikipedia.org/wiki/Gzip)) 10 | - [ ] [DAISY e-book files](https://bugs.freedesktop.org/show_bug.cgi?id=91873) 11 | - [x] `application/x-iso9660-image` ISO disk image ([`.iso`](https://en.wikipedia.org/wiki/ISO_image)) 12 | - Hard to find files of reasonable size. 13 | - [ ] `application/x-dbf` dBASE database files ([`.dbf`](https://en.wikipedia.org/wiki/.dbf)) 14 | - [x] `application/vnd.ms-cab-compressed` Microsoft Windows Cabinet archive format ([`.cab`](https://en.wikipedia.org/wiki/Cabinet_%28file_format%29)) 15 | - [ ] `application/x-font-ttf` TrueType font files ([`.ttf`](https://en.wikipedia.org/wiki/TrueType)) 16 | - [x] [`application/sla`](media-types/application/sla) Stereolithography CAD file ([`.stl`](https://en.wikipedia.org/wiki/STL_%28file_format%29)) 17 | - [ ] `application/x-raw-disk-image` Raw disk image ([`.img`](https://en.wikipedia.org/wiki/IMG_%28file_format%29)) 18 | - [ ] `application/x-virtualbox-vmdk` Virtual Machine Disk ([`.vmdk`](https://en.wikipedia.org/wiki/VMDK)) 19 | - `audio` 20 | - [ ] `audio/x-xm` Extended module tracker audio format ([`.xm`](https://en.wikipedia.org/wiki/XM_%28file_format%29)) 21 | - `image` 22 | - [x] [`image/gif`](media-types/image/gif/Green_bot_animated.gif) An animated gif ([`.gif`](https://en.wikipedia.org/wiki/GIF)) 23 | - [ ] [application/vnd.google-earth.kml+xml](https://en.wikipedia.org/wiki/Keyhole_Markup_Language) 24 | - [ ] [application/vnd.google-earth.kmz](https://en.wikipedia.org/wiki/Keyhole_Markup_Language) 25 | - [ ] [image/heic](https://en.wikipedia.org/wiki/High_Efficiency_Image_File_Format) a.k.a. image/heif 26 | - `model` 27 | - [ ] [model/gltf+json](https://en.wikipedia.org/wiki/GlTF) 28 | - [ ] [model/gltf-binary](https://en.wikipedia.org/wiki/GlTF) 29 | - `text` 30 | - [`text/plain`](media-types/text/plain/) 31 | - [ ] INI config files [`.ini`](https://en.wikipedia.org/wiki/INI_file) 32 | - [x] [fstab](https://en.wikipedia.org/wiki/Fstab) file 33 | - [media-types/text/plain/fstab](media-types/text/plain/fstab) 34 | - [ ] debian `.dsc` files 35 | - [ ] UTF8 [bidi text](https://en.wikipedia.org/wiki/Bi-directional_text) e.g. Arabic or Hebrew 36 | - `text/calendar` 37 | - [x] iCal files ([`.ics`](https://en.wikipedia.org/wiki/ICalendar)) 38 | - [x] 39 | - [x] 40 | - `text/csv` 41 | - [x] [RFC 4180](https://tools.ietf.org/html/rfc4180) compliant files. 42 | - [ ] Examples from `csvkit`](https://github.com/wireservice/csvkit/tree/master/examples) 43 | - [ ] `.csv` files that are entirely numeric 44 | - [ ] `.csv` files with quoting 45 | - [ ] `.csv` files with semicolon delimiters and commas as decimal marks. 46 | - `text/vnd.graphviz` 47 | - [ ] `.dot` file 48 | - [ ] `.gv` file 49 | - [ ] `text/x-apt-sources-list` (sources.list file for Debian) 50 | - https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-controlsyntax 51 | - `text/x-chdr` 52 | - `text/x-diff` 53 | - `text/x-perl` 54 | - [`text/x-ldif`](https://en.wikipedia.org/wiki/LDAP_Data_Interchange_Format) 55 | 56 | - [ ] Add files from [file-format-commons](https://github.com/alexschiller/file-format-commons) 57 | - [ ] Add files from [tika test-documents](https://github.com/apache/tika/tree/master/tika-parsers/src/test/resources/test-documents) 58 | 59 | ---------- 60 | Validation 61 | ---------- 62 | 63 | - [x] Check for broken URLs. 64 | - [ ] Change `urls.json` so that each file can have multiple URLs. 65 | - [x] Check that each file is in the folder corresponding to its mimetype. 66 | - [ ] List of SHA1 checksums to avoid re-downloading. 67 | - [ ] Even better, make zsync control files. 68 | - [ ] Check that the list of URLs and actual files correspond. 69 | - [ ] List of files without corresponding URLs. 70 | - [ ] List of URLs without corresponding files. 71 | -------------------------------------------------------------------------------- /media-types/text/x-makefile/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Makefile for the linux kernel. 3 | # 4 | 5 | obj-y = fork.o exec_domain.o panic.o \ 6 | cpu.o exit.o softirq.o resource.o \ 7 | sysctl.o sysctl_binary.o capability.o ptrace.o user.o \ 8 | signal.o sys.o kmod.o workqueue.o pid.o task_work.o \ 9 | extable.o params.o \ 10 | kthread.o sys_ni.o nsproxy.o \ 11 | notifier.o ksysfs.o cred.o reboot.o \ 12 | async.o range.o smpboot.o 13 | 14 | obj-$(CONFIG_MULTIUSER) += groups.o 15 | 16 | ifdef CONFIG_FUNCTION_TRACER 17 | # Do not trace internal ftrace files 18 | CFLAGS_REMOVE_irq_work.o = $(CC_FLAGS_FTRACE) 19 | endif 20 | 21 | # Prevents flicker of uninteresting __do_softirq()/__local_bh_disable_ip() 22 | # in coverage traces. 23 | KCOV_INSTRUMENT_softirq.o := n 24 | # These are called from save_stack_trace() on slub debug path, 25 | # and produce insane amounts of uninteresting coverage. 26 | KCOV_INSTRUMENT_module.o := n 27 | KCOV_INSTRUMENT_extable.o := n 28 | # Don't self-instrument. 29 | KCOV_INSTRUMENT_kcov.o := n 30 | KASAN_SANITIZE_kcov.o := n 31 | 32 | # cond_syscall is currently not LTO compatible 33 | CFLAGS_sys_ni.o = $(DISABLE_LTO) 34 | 35 | obj-y += sched/ 36 | obj-y += locking/ 37 | obj-y += power/ 38 | obj-y += printk/ 39 | obj-y += irq/ 40 | obj-y += rcu/ 41 | obj-y += livepatch/ 42 | 43 | obj-$(CONFIG_CHECKPOINT_RESTORE) += kcmp.o 44 | obj-$(CONFIG_FREEZER) += freezer.o 45 | obj-$(CONFIG_PROFILING) += profile.o 46 | obj-$(CONFIG_STACKTRACE) += stacktrace.o 47 | obj-y += time/ 48 | obj-$(CONFIG_FUTEX) += futex.o 49 | ifeq ($(CONFIG_COMPAT),y) 50 | obj-$(CONFIG_FUTEX) += futex_compat.o 51 | endif 52 | obj-$(CONFIG_GENERIC_ISA_DMA) += dma.o 53 | obj-$(CONFIG_SMP) += smp.o 54 | ifneq ($(CONFIG_SMP),y) 55 | obj-y += up.o 56 | endif 57 | obj-$(CONFIG_UID16) += uid16.o 58 | obj-$(CONFIG_MODULES) += module.o 59 | obj-$(CONFIG_MODULE_SIG) += module_signing.o 60 | obj-$(CONFIG_KALLSYMS) += kallsyms.o 61 | obj-$(CONFIG_BSD_PROCESS_ACCT) += acct.o 62 | obj-$(CONFIG_KEXEC_CORE) += kexec_core.o 63 | obj-$(CONFIG_KEXEC) += kexec.o 64 | obj-$(CONFIG_KEXEC_FILE) += kexec_file.o 65 | obj-$(CONFIG_BACKTRACE_SELF_TEST) += backtracetest.o 66 | obj-$(CONFIG_COMPAT) += compat.o 67 | obj-$(CONFIG_CGROUPS) += cgroup.o 68 | obj-$(CONFIG_CGROUP_FREEZER) += cgroup_freezer.o 69 | obj-$(CONFIG_CGROUP_PIDS) += cgroup_pids.o 70 | obj-$(CONFIG_CPUSETS) += cpuset.o 71 | obj-$(CONFIG_UTS_NS) += utsname.o 72 | obj-$(CONFIG_USER_NS) += user_namespace.o 73 | obj-$(CONFIG_PID_NS) += pid_namespace.o 74 | obj-$(CONFIG_IKCONFIG) += configs.o 75 | obj-$(CONFIG_SMP) += stop_machine.o 76 | obj-$(CONFIG_KPROBES_SANITY_TEST) += test_kprobes.o 77 | obj-$(CONFIG_AUDIT) += audit.o auditfilter.o 78 | obj-$(CONFIG_AUDITSYSCALL) += auditsc.o 79 | obj-$(CONFIG_AUDIT_WATCH) += audit_watch.o audit_fsnotify.o 80 | obj-$(CONFIG_AUDIT_TREE) += audit_tree.o 81 | obj-$(CONFIG_GCOV_KERNEL) += gcov/ 82 | obj-$(CONFIG_KCOV) += kcov.o 83 | obj-$(CONFIG_KPROBES) += kprobes.o 84 | obj-$(CONFIG_KGDB) += debug/ 85 | obj-$(CONFIG_DETECT_HUNG_TASK) += hung_task.o 86 | obj-$(CONFIG_LOCKUP_DETECTOR) += watchdog.o 87 | obj-$(CONFIG_SECCOMP) += seccomp.o 88 | obj-$(CONFIG_RELAY) += relay.o 89 | obj-$(CONFIG_SYSCTL) += utsname_sysctl.o 90 | obj-$(CONFIG_TASK_DELAY_ACCT) += delayacct.o 91 | obj-$(CONFIG_TASKSTATS) += taskstats.o tsacct.o 92 | obj-$(CONFIG_TRACEPOINTS) += tracepoint.o 93 | obj-$(CONFIG_LATENCYTOP) += latencytop.o 94 | obj-$(CONFIG_BINFMT_ELF) += elfcore.o 95 | obj-$(CONFIG_COMPAT_BINFMT_ELF) += elfcore.o 96 | obj-$(CONFIG_BINFMT_ELF_FDPIC) += elfcore.o 97 | obj-$(CONFIG_FUNCTION_TRACER) += trace/ 98 | obj-$(CONFIG_TRACING) += trace/ 99 | obj-$(CONFIG_TRACE_CLOCK) += trace/ 100 | obj-$(CONFIG_RING_BUFFER) += trace/ 101 | obj-$(CONFIG_TRACEPOINTS) += trace/ 102 | obj-$(CONFIG_IRQ_WORK) += irq_work.o 103 | obj-$(CONFIG_CPU_PM) += cpu_pm.o 104 | obj-$(CONFIG_BPF) += bpf/ 105 | 106 | obj-$(CONFIG_PERF_EVENTS) += events/ 107 | 108 | obj-$(CONFIG_USER_RETURN_NOTIFIER) += user-return-notifier.o 109 | obj-$(CONFIG_PADATA) += padata.o 110 | obj-$(CONFIG_CRASH_DUMP) += crash_dump.o 111 | obj-$(CONFIG_JUMP_LABEL) += jump_label.o 112 | obj-$(CONFIG_CONTEXT_TRACKING) += context_tracking.o 113 | obj-$(CONFIG_TORTURE_TEST) += torture.o 114 | obj-$(CONFIG_MEMBARRIER) += membarrier.o 115 | 116 | obj-$(CONFIG_HAS_IOMEM) += memremap.o 117 | 118 | $(obj)/configs.o: $(obj)/config_data.h 119 | 120 | # config_data.h contains the same information as ikconfig.h but gzipped. 121 | # Info from config_data can be extracted from /proc/config* 122 | targets += config_data.gz 123 | $(obj)/config_data.gz: $(KCONFIG_CONFIG) FORCE 124 | $(call if_changed,gzip) 125 | 126 | filechk_ikconfiggz = (echo "static const char kernel_config_data[] __used = MAGIC_START"; cat $< | scripts/basic/bin2c; echo "MAGIC_END;") 127 | targets += config_data.h 128 | $(obj)/config_data.h: $(obj)/config_data.gz FORCE 129 | $(call filechk,ikconfiggz) 130 | -------------------------------------------------------------------------------- /find_new_mimetypes.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | 3 | from __future__ import print_function 4 | import os 5 | import sys 6 | import mimetypes 7 | import argparse 8 | import logging 9 | 10 | def readable_directory(path): 11 | if not os.path.isdir(path): 12 | raise argparse.ArgumentTypeError('not an existing directory: {}'.format(path)) 13 | if not os.access(path, os.R_OK): 14 | raise argparse.ArgumentTypeError('not a readable directory: {}'.format(path)) 15 | return path 16 | 17 | def get_known_mimetypes(mimetypes_fp): 18 | mimetypes = set() 19 | for line in mimetypes_fp.readlines(): 20 | mimetypes.add(line.strip()) 21 | return mimetypes 22 | 23 | def get_unknown_mimetypes( 24 | known, 25 | narrow_top_level=None, 26 | suppress_repeats=True, 27 | suppress_larger=True, 28 | ): 29 | 30 | new_mimetypes = set() 31 | if suppress_larger: 32 | smallest_so_far = {} 33 | for dirpath, dirnames, filenames in os.walk(args.rootdir): 34 | for filename in filenames: 35 | filepath = os.path.join(dirpath, filename) 36 | # TODO: measure size in bytes like this: 37 | # size_bytes = os.stat(filepath).st_size 38 | # then only show duplicate files if they are smaller. 39 | mimetype, encoding = mimetypes.guess_type(filename) 40 | 41 | if mimetype: 42 | top_level, subtype = mimetype.split('/') 43 | else: 44 | top_level, subtype = None, None 45 | 46 | if mimetype is None: 47 | # Mimetype could not be determined, so try next file. 48 | logging.debug("mimetype is 'None' for file '{}'".format(filepath)) 49 | continue 50 | elif mimetype in known: 51 | # Mimetype is already known, so skip to next file. 52 | logging.debug("already known mimetype '{}' for file '{}'".format(mimetype, filepath)) 53 | continue 54 | elif narrow_top_level is not None: 55 | # We are only interested in e.g. 'audio' mimetypes. 56 | if top_level != narrow_top_level: 57 | logging.debug("mimetype '{}' for file '{}' does not match top-level '{}'".format(mimetype, filepath, narrow_top_level)) 58 | # No match, so skip this one. 59 | continue 60 | elif mimetype in new_mimetypes and suppress_repeats: 61 | # Mimetype was previously encountered, so skip to next. 62 | logging.debug("suppressing already found mimetype '{}' from file '{}'".format(mimetype, filepath)) 63 | continue 64 | elif mimetype in new_mimetypes and suppress_larger: 65 | try: 66 | size_bytes = os.stat(filepath).st_size 67 | except FileNotFoundError: 68 | logging.info("could not stat file '{}'".format(mimetype, filepath)) 69 | # Skip it, it's probably a broken symbolic link. 70 | continue 71 | try : 72 | if size_bytes > smallest_so_far[mimetype]: 73 | logging.debug("suppressing file '{}' with mimimetype '{}' since {} > {}".format(filepath, mimetype, size_bytes, smallest_so_far[mimetype])) 74 | continue 75 | except KeyError: 76 | pass 77 | 78 | # Might as well add the mimetype now. 79 | new_mimetypes.add(mimetype) 80 | if suppress_larger: 81 | size_bytes = os.stat(filepath).st_size 82 | if mimetype in smallest_so_far: 83 | if size_bytes < smallest_so_far[mimetype]: 84 | smallest_so_far[mimetype] = size_bytes 85 | else: 86 | smallest_so_far[mimetype] = size_bytes 87 | 88 | yield mimetype, filepath 89 | 90 | top_level_types = [ 91 | 'application', 92 | 'audio', 93 | 'chemical', 94 | 'drawing', 95 | 'example', 96 | 'font', 97 | 'image', 98 | 'inode', 99 | 'message', 100 | 'model', 101 | 'multipart', 102 | 'text', 103 | 'video' 104 | ] 105 | 106 | if __name__ == '__main__': 107 | parser = argparse.ArgumentParser( 108 | description='For discovering mimetypes not already in the mimetype menagerie' 109 | ) 110 | parser.add_argument('known_mimetypes_file', 111 | type=argparse.FileType('r'), 112 | help='Path to text file with list of known mimetypes.' 113 | ) 114 | parser.add_argument('rootdir', 115 | type=readable_directory, 116 | help='Root directory to start looking for new mimetypes.' 117 | ) 118 | parser.add_argument('-t', '--toplevel', 119 | help='Restrict to one top level type', 120 | choices=top_level_types 121 | ) 122 | parser.add_argument('-s', '--suppress-repeats', 123 | help='Suppress printing of duplicate mimetypes', 124 | action='store_true', 125 | default=False, 126 | ) 127 | parser.add_argument('-l', '--suppress-larger', 128 | help='Suppress printing of larger files than those seen so far', 129 | action='store_true', 130 | default=False, 131 | ) 132 | parser.add_argument( 133 | '-v', 134 | '--verbose', 135 | help='More verbose logging', 136 | dest="loglevel", 137 | default=logging.WARNING, 138 | action="store_const", 139 | const=logging.INFO, 140 | ) 141 | parser.add_argument( 142 | '-d', 143 | '--debug', 144 | help='Enable debugging logs', 145 | action="store_const", 146 | dest="loglevel", 147 | const=logging.DEBUG, 148 | ) 149 | args = parser.parse_args() 150 | logging.basicConfig(level=args.loglevel) 151 | 152 | known_mimetypes = get_known_mimetypes(args.known_mimetypes_file) 153 | 154 | for mimetype, filepath in get_unknown_mimetypes( 155 | known=known_mimetypes, 156 | narrow_top_level=args.toplevel, 157 | suppress_repeats=args.suppress_repeats, 158 | suppress_larger=args.suppress_larger 159 | ): 160 | sys.stdout.write('{}\t{}\n'.format(mimetype, filepath)) 161 | sys.stdout.flush() 162 | -------------------------------------------------------------------------------- /media-types/chemical/x-xyz/list.xyz: -------------------------------------------------------------------------------- 1 | 119 2 | EuTiO3, cubic perovskite 3 | Ti 0.00000 0.00000 0.00000 4 | O 1.98950 0.00000 0.00000 5 | O -1.98950 0.00000 0.00000 6 | O 0.00000 1.98950 0.00000 7 | O 0.00000 -1.98950 0.00000 8 | O 0.00000 0.00000 1.98950 9 | O 0.00000 0.00000 -1.98950 10 | Eu 1.98950 1.98950 1.98950 11 | Eu -1.98950 1.98950 1.98950 12 | Eu 1.98950 -1.98950 1.98950 13 | Eu -1.98950 -1.98950 1.98950 14 | Eu 1.98950 1.98950 -1.98950 15 | Eu -1.98950 1.98950 -1.98950 16 | Eu 1.98950 -1.98950 -1.98950 17 | Eu -1.98950 -1.98950 -1.98950 18 | Ti 3.97900 0.00000 0.00000 19 | Ti -3.97900 0.00000 0.00000 20 | Ti 0.00000 3.97900 0.00000 21 | Ti 0.00000 -3.97900 0.00000 22 | Ti 0.00000 0.00000 3.97900 23 | Ti 0.00000 0.00000 -3.97900 24 | O 3.97900 1.98950 0.00000 25 | O -3.97900 1.98950 0.00000 26 | O 1.98950 3.97900 0.00000 27 | O -1.98950 3.97900 0.00000 28 | O 3.97900 -1.98950 0.00000 29 | O -3.97900 -1.98950 0.00000 30 | O 1.98950 -3.97900 0.00000 31 | O -1.98950 -3.97900 0.00000 32 | O 3.97900 0.00000 1.98950 33 | O -3.97900 0.00000 1.98950 34 | O 0.00000 3.97900 1.98950 35 | O 0.00000 -3.97900 1.98950 36 | O 1.98950 0.00000 3.97900 37 | O -1.98950 0.00000 3.97900 38 | O 0.00000 1.98950 3.97900 39 | O 0.00000 -1.98950 3.97900 40 | O 3.97900 0.00000 -1.98950 41 | O -3.97900 0.00000 -1.98950 42 | O 0.00000 3.97900 -1.98950 43 | O 0.00000 -3.97900 -1.98950 44 | O 1.98950 0.00000 -3.97900 45 | O -1.98950 0.00000 -3.97900 46 | O 0.00000 1.98950 -3.97900 47 | O 0.00000 -1.98950 -3.97900 48 | Ti 3.97900 3.97900 0.00000 49 | Ti -3.97900 3.97900 0.00000 50 | Ti 3.97900 -3.97900 0.00000 51 | Ti -3.97900 -3.97900 0.00000 52 | Ti 3.97900 0.00000 3.97900 53 | Ti -3.97900 0.00000 3.97900 54 | Ti 0.00000 3.97900 3.97900 55 | Ti 0.00000 -3.97900 3.97900 56 | Ti 3.97900 0.00000 -3.97900 57 | Ti -3.97900 0.00000 -3.97900 58 | Ti 0.00000 3.97900 -3.97900 59 | Ti 0.00000 -3.97900 -3.97900 60 | O 5.96850 0.00000 0.00000 61 | O -5.96850 0.00000 0.00000 62 | O 0.00000 5.96850 0.00000 63 | O 0.00000 -5.96850 0.00000 64 | O 3.97900 3.97900 1.98950 65 | O -3.97900 3.97900 1.98950 66 | O 3.97900 -3.97900 1.98950 67 | O -3.97900 -3.97900 1.98950 68 | O 3.97900 1.98950 3.97900 69 | O -3.97900 1.98950 3.97900 70 | O 1.98950 3.97900 3.97900 71 | O -1.98950 3.97900 3.97900 72 | O 3.97900 -1.98950 3.97900 73 | O -3.97900 -1.98950 3.97900 74 | O 1.98950 -3.97900 3.97900 75 | O -1.98950 -3.97900 3.97900 76 | O 0.00000 0.00000 5.96850 77 | O 3.97900 3.97900 -1.98950 78 | O -3.97900 3.97900 -1.98950 79 | O 3.97900 -3.97900 -1.98950 80 | O -3.97900 -3.97900 -1.98950 81 | O 3.97900 1.98950 -3.97900 82 | O -3.97900 1.98950 -3.97900 83 | O 1.98950 3.97900 -3.97900 84 | O -1.98950 3.97900 -3.97900 85 | O 3.97900 -1.98950 -3.97900 86 | O -3.97900 -1.98950 -3.97900 87 | O 1.98950 -3.97900 -3.97900 88 | O -1.98950 -3.97900 -3.97900 89 | O 0.00000 0.00000 -5.96850 90 | Eu 5.96850 1.98950 1.98950 91 | Eu -5.96850 1.98950 1.98950 92 | Eu 1.98950 5.96850 1.98950 93 | Eu -1.98950 5.96850 1.98950 94 | Eu 5.96850 -1.98950 1.98950 95 | Eu -5.96850 -1.98950 1.98950 96 | Eu 1.98950 -5.96850 1.98950 97 | Eu -1.98950 -5.96850 1.98950 98 | Eu 1.98950 1.98950 5.96850 99 | Eu -1.98950 1.98950 5.96850 100 | Eu 1.98950 -1.98950 5.96850 101 | Eu -1.98950 -1.98950 5.96850 102 | Eu 5.96850 1.98950 -1.98950 103 | Eu -5.96850 1.98950 -1.98950 104 | Eu 1.98950 5.96850 -1.98950 105 | Eu -1.98950 5.96850 -1.98950 106 | Eu 5.96850 -1.98950 -1.98950 107 | Eu -5.96850 -1.98950 -1.98950 108 | Eu 1.98950 -5.96850 -1.98950 109 | Eu -1.98950 -5.96850 -1.98950 110 | Eu 1.98950 1.98950 -5.96850 111 | Eu -1.98950 1.98950 -5.96850 112 | Eu 1.98950 -1.98950 -5.96850 113 | Eu -1.98950 -1.98950 -5.96850 114 | Ti 3.97900 3.97900 3.97900 115 | Ti -3.97900 3.97900 3.97900 116 | Ti 3.97900 -3.97900 3.97900 117 | Ti -3.97900 -3.97900 3.97900 118 | Ti 3.97900 3.97900 -3.97900 119 | Ti -3.97900 3.97900 -3.97900 120 | Ti 3.97900 -3.97900 -3.97900 121 | Ti -3.97900 -3.97900 -3.97900 122 | -------------------------------------------------------------------------------- /iana/audio.csv: -------------------------------------------------------------------------------- 1 | Name,Template,Reference 2 | 1d-interleaved-parityfec,audio/1d-interleaved-parityfec,[RFC6015] 3 | 32kadpcm,audio/32kadpcm,[RFC3802][RFC2421] 4 | 3gpp,audio/3gpp,[RFC3839][RFC6381] 5 | 3gpp2,audio/3gpp2,[RFC4393][RFC6381] 6 | aac,audio/aac,[ISO-IEC_JTC1][Max_Neuendorf] 7 | ac3,audio/ac3,[RFC4184] 8 | AMR,audio/AMR,[RFC4867] 9 | AMR-WB,audio/AMR-WB,[RFC4867] 10 | amr-wb+,audio/amr-wb+,[RFC4352] 11 | aptx,audio/aptx,[RFC7310] 12 | asc,audio/asc,[RFC6295] 13 | ATRAC-ADVANCED-LOSSLESS,audio/ATRAC-ADVANCED-LOSSLESS,[RFC5584] 14 | ATRAC-X,audio/ATRAC-X,[RFC5584] 15 | ATRAC3,audio/ATRAC3,[RFC5584] 16 | basic,audio/basic,[RFC2045][RFC2046] 17 | BV16,audio/BV16,[RFC4298] 18 | BV32,audio/BV32,[RFC4298] 19 | clearmode,audio/clearmode,[RFC4040] 20 | CN,audio/CN,[RFC3389] 21 | DAT12,audio/DAT12,[RFC3190] 22 | dls,audio/dls,[RFC4613] 23 | dsr-es201108,audio/dsr-es201108,[RFC3557] 24 | dsr-es202050,audio/dsr-es202050,[RFC4060] 25 | dsr-es202211,audio/dsr-es202211,[RFC4060] 26 | dsr-es202212,audio/dsr-es202212,[RFC4060] 27 | DV,audio/DV,[RFC6469] 28 | DVI4,audio/DVI4,[RFC4856] 29 | eac3,audio/eac3,[RFC4598] 30 | encaprtp,audio/encaprtp,[RFC6849] 31 | EVRC,audio/EVRC,[RFC4788] 32 | EVRC-QCP,audio/EVRC-QCP,[RFC3625] 33 | EVRC0,audio/EVRC0,[RFC4788] 34 | EVRC1,audio/EVRC1,[RFC4788] 35 | EVRCB,audio/EVRCB,[RFC5188] 36 | EVRCB0,audio/EVRCB0,[RFC5188] 37 | EVRCB1,audio/EVRCB1,[RFC4788] 38 | EVRCNW,audio/EVRCNW,[RFC6884] 39 | EVRCNW0,audio/EVRCNW0,[RFC6884] 40 | EVRCNW1,audio/EVRCNW1,[RFC6884] 41 | EVRCWB,audio/EVRCWB,[RFC5188] 42 | EVRCWB0,audio/EVRCWB0,[RFC5188] 43 | EVRCWB1,audio/EVRCWB1,[RFC5188] 44 | EVS,audio/EVS,[_3GPP][Kyunghun_Jung] 45 | example,audio/example,[RFC4735] 46 | fwdred,audio/fwdred,[RFC6354] 47 | G711-0,audio/G711-0,[RFC7655] 48 | G719,audio/G719,"[RFC5404][RFC Errata 49 | 3245]" 50 | G7221,audio/G7221,[RFC5577] 51 | G722,audio/G722,[RFC4856] 52 | G723,audio/G723,[RFC4856] 53 | G726-16,audio/G726-16,[RFC4856] 54 | G726-24,audio/G726-24,[RFC4856] 55 | G726-32,audio/G726-32,[RFC4856] 56 | G726-40,audio/G726-40,[RFC4856] 57 | G728,audio/G728,[RFC4856] 58 | G729,audio/G729,[RFC4856] 59 | G7291,,[RFC4749][RFC5459] 60 | G729D,audio/G729D,[RFC4856] 61 | G729E,audio/G729E,[RFC4856] 62 | GSM,audio/GSM,[RFC4856] 63 | GSM-EFR,audio/GSM-EFR,[RFC4856] 64 | GSM-HR-08,audio/GSM-HR-08,[RFC5993] 65 | iLBC,audio/iLBC,[RFC3952] 66 | ip-mr_v2.5,audio/ip-mr_v2.5,[RFC6262] 67 | L8,audio/L8,[RFC4856] 68 | L16,audio/L16,[RFC4856] 69 | L20,audio/L20,[RFC3190] 70 | L24,audio/L24,[RFC3190] 71 | LPC,audio/LPC,[RFC4856] 72 | MELP,audio/MELP,[RFC8130] 73 | MELP600,audio/MELP600,[RFC8130] 74 | MELP1200,audio/MELP1200,[RFC8130] 75 | MELP2400,audio/MELP2400,[RFC8130] 76 | mobile-xmf,audio/mobile-xmf,[RFC4723] 77 | MPA,audio/MPA,[RFC3555] 78 | mp4,audio/mp4,[RFC4337][RFC6381] 79 | MP4A-LATM,audio/MP4A-LATM,[RFC6416] 80 | mpa-robust,audio/mpa-robust,[RFC5219] 81 | mpeg,audio/mpeg,[RFC3003] 82 | mpeg4-generic,audio/mpeg4-generic,[RFC3640][RFC5691][RFC6295] 83 | ogg,audio/ogg,[RFC5334][RFC7845] 84 | opus,audio/opus,[RFC7587] 85 | parityfec,,[RFC5109] 86 | PCMA,audio/PCMA,[RFC4856] 87 | PCMA-WB,audio/PCMA-WB,[RFC5391] 88 | PCMU,audio/PCMU,[RFC4856] 89 | PCMU-WB,audio/PCMU-WB,[RFC5391] 90 | prs.sid,audio/prs.sid,[Linus_Walleij] 91 | QCELP,,[RFC3555][RFC3625] 92 | raptorfec,audio/raptorfec,[RFC6682] 93 | RED,audio/RED,[RFC3555] 94 | rtp-enc-aescm128,audio/rtp-enc-aescm128,[_3GPP] 95 | rtploopback,audio/rtploopback,[RFC6849] 96 | rtp-midi,audio/rtp-midi,[RFC6295] 97 | rtx,audio/rtx,[RFC4588] 98 | SMV,audio/SMV,[RFC3558] 99 | SMV0,audio/SMV0,[RFC3558] 100 | SMV-QCP,audio/SMV-QCP,[RFC3625] 101 | sp-midi,audio/sp-midi,[Timo_Kosonen][Tom_White] 102 | speex,audio/speex,[RFC5574] 103 | t140c,audio/t140c,[RFC4351] 104 | t38,audio/t38,[RFC4612] 105 | telephone-event,audio/telephone-event,[RFC4733] 106 | TETRA_ACELP,audio/TETRA_ACELP,[ETSI][Miguel_Angel_Reina_Ortega] 107 | tone,audio/tone,[RFC4733] 108 | UEMCLIP,audio/UEMCLIP,[RFC5686] 109 | ulpfec,audio/ulpfec,[RFC5109] 110 | usac,audio/usac,[ISO-IEC_JTC1][Max_Neuendorf] 111 | VDVI,audio/VDVI,[RFC4856] 112 | VMR-WB,audio/VMR-WB,[RFC4348][RFC4424] 113 | vnd.3gpp.iufp,audio/vnd.3gpp.iufp,[Thomas_Belling] 114 | vnd.4SB,audio/vnd.4SB,[Serge_De_Jaham] 115 | vnd.audiokoz,audio/vnd.audiokoz,[Vicki_DeBarros] 116 | vnd.CELP,audio/vnd.CELP,[Serge_De_Jaham] 117 | vnd.cisco.nse,audio/vnd.cisco.nse,[Rajesh_Kumar] 118 | vnd.cmles.radio-events,audio/vnd.cmles.radio-events,[Jean-Philippe_Goulet] 119 | vnd.cns.anp1,audio/vnd.cns.anp1,[Ann_McLaughlin] 120 | vnd.cns.inf1,audio/vnd.cns.inf1,[Ann_McLaughlin] 121 | vnd.dece.audio,audio/vnd.dece.audio,[Michael_A_Dolan] 122 | vnd.digital-winds,audio/vnd.digital-winds,[Armands_Strazds] 123 | vnd.dlna.adts,audio/vnd.dlna.adts,[Edwin_Heredia] 124 | vnd.dolby.heaac.1,audio/vnd.dolby.heaac.1,[Steve_Hattersley] 125 | vnd.dolby.heaac.2,audio/vnd.dolby.heaac.2,[Steve_Hattersley] 126 | vnd.dolby.mlp,audio/vnd.dolby.mlp,[Mike_Ward] 127 | vnd.dolby.mps,audio/vnd.dolby.mps,[Steve_Hattersley] 128 | vnd.dolby.pl2,audio/vnd.dolby.pl2,[Steve_Hattersley] 129 | vnd.dolby.pl2x,audio/vnd.dolby.pl2x,[Steve_Hattersley] 130 | vnd.dolby.pl2z,audio/vnd.dolby.pl2z,[Steve_Hattersley] 131 | vnd.dolby.pulse.1,audio/vnd.dolby.pulse.1,[Steve_Hattersley] 132 | vnd.dra,audio/vnd.dra,[Jiang_Tian] 133 | vnd.dts,audio/vnd.dts,[William_Zou] 134 | vnd.dts.hd,audio/vnd.dts.hd,[William_Zou] 135 | vnd.dts.uhd,audio/vnd.dts.uhd,[Phillip_Maness] 136 | vnd.dvb.file,audio/vnd.dvb.file,[Peter_Siebert] 137 | vnd.everad.plj,audio/vnd.everad.plj,[Shay_Cicelsky] 138 | vnd.hns.audio,audio/vnd.hns.audio,[Swaminathan] 139 | vnd.lucent.voice,audio/vnd.lucent.voice,[Greg_Vaudreuil] 140 | vnd.ms-playready.media.pya,audio/vnd.ms-playready.media.pya,[Steve_DiAcetis] 141 | vnd.nokia.mobile-xmf,audio/vnd.nokia.mobile-xmf,[Nokia] 142 | vnd.nortel.vbk,audio/vnd.nortel.vbk,[Glenn_Parsons] 143 | vnd.nuera.ecelp4800,audio/vnd.nuera.ecelp4800,[Michael_Fox] 144 | vnd.nuera.ecelp7470,audio/vnd.nuera.ecelp7470,[Michael_Fox] 145 | vnd.nuera.ecelp9600,audio/vnd.nuera.ecelp9600,[Michael_Fox] 146 | vnd.octel.sbc,audio/vnd.octel.sbc,[Greg_Vaudreuil] 147 | vnd.presonus.multitrack,audio/vnd.presonus.multitrack,[Matthias_Juwan] 148 | vnd.qcelp - DEPRECATED in favor of audio/qcelp,audio/vnd.qcelp,[RFC3625] 149 | vnd.rhetorex.32kadpcm,audio/vnd.rhetorex.32kadpcm,[Greg_Vaudreuil] 150 | vnd.rip,audio/vnd.rip,[Martin_Dawe] 151 | vnd.sealedmedia.softseal.mpeg,audio/vnd.sealedmedia.softseal.mpeg,[David_Petersen] 152 | vnd.vmx.cvsd,audio/vnd.vmx.cvsd,[Greg_Vaudreuil] 153 | vorbis,audio/vorbis,[RFC5215] 154 | vorbis-config,audio/vorbis-config,[RFC5215] 155 | -------------------------------------------------------------------------------- /media-types/message/rfc822/TEST_00731.eml: -------------------------------------------------------------------------------- 1 | X-Account-Key: account5 2 | X-UIDL: GmailId128412432d3abf3d 3 | X-Mozilla-Status: 0000 4 | X-Mozilla-Status2: 00000000 5 | X-Mozilla-Keys: 6 | Delivered-To: mlsubscriber.tech@csmining.org 7 | Received: by 10.143.34.8 with SMTP id m8cs153066wfj; 8 | Tue, 27 Apr 2010 14:20:11 -0700 (PDT) 9 | Received: by 10.142.61.24 with SMTP id j24mr3683093wfa.177.1272403211252; 10 | Tue, 27 Apr 2010 14:20:11 -0700 (PDT) 11 | Return-Path: 12 | Received: from bz2.apple.com (bz2.apple.com [17.254.13.37]) 13 | by mx.google.com with ESMTP id 35si7948487pzk.9.2010.04.27.14.20.11; 14 | Tue, 27 Apr 2010 14:20:11 -0700 (PDT) 15 | Received-SPF: pass (google.com: manual fallback record for domain of augd-bounces+mlsubscriber.tech=csmining.org@lists.apple.com designates 17.254.13.37 as permitted sender) client-ip=17.254.13.37; 16 | Authentication-Results: mx.google.com; spf=pass (google.com: manual fallback record for domain of augd-bounces+mlsubscriber.tech=csmining.org@lists.apple.com designates 17.254.13.37 as permitted sender) smtp.mail=augd-bounces+mlsubscriber.tech=csmining.org@lists.apple.com; dkim=neutral (body hash did not verify) header.i=@csmining.org 17 | Received: from lists.apple.com (unknown [17.128.113.151]) 18 | by bz2.apple.com (Postfix) with ESMTP id F3C091C020F60 19 | for ; Tue, 27 Apr 2010 14:20:10 -0700 (PDT) 20 | Received: from master.lists.apple.com (localhost [127.0.0.1]) 21 | by lists.apple.com (Postfix) with ESMTP id ED23B272D369C 22 | for ; Tue, 27 Apr 2010 14:20:10 -0700 (PDT) 23 | X-Original-To: Augd@lists.apple.com 24 | Delivered-To: Augd@lists.apple.com 25 | Received: from relay1.apple.com (relay1.apple.com [17.128.113.31]) 26 | by lists.apple.com (Postfix) with ESMTP id BF8C8272D3671 27 | for ; Tue, 27 Apr 2010 14:20:08 -0700 (PDT) 28 | Received: from mail-in13.apple.com (mail-in13.apple.com [17.254.13.11]) 29 | by relay1.apple.com (Postfix) with ESMTP id AED8BD697814 30 | for ; Tue, 27 Apr 2010 14:20:08 -0700 (PDT) 31 | X-AuditID: 11fe0d0b-b7b68ae0000042ab-70-4bd755079a43 32 | Received: from mail-ww0-f51.google.com (mail-ww0-f51.google.com [74.125.82.51]) 33 | by mail-in13.apple.com (Apple Secure Mail Relay) with SMTP id 34 | C9.54.17067.80557DB4; Tue, 27 Apr 2010 14:20:08 -0700 (PDT) 35 | To: undisclosed-recipients: ; 36 | Received: by wwg30 with SMTP id 30so1343193wwg.24 37 | for ; Tue, 27 Apr 2010 14:20:07 -0700 (PDT) 38 | DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=csmining.org; s=gamma; 39 | h=domainkey-signature:received:received:content-type:mime-version 40 | :subject:from:in-reply-to:date:cc:content-transfer-encoding 41 | :message-id:references:x-mailer; 42 | bh=Mcf3/0BRErhZQ72tkytlUNMoESfaquiCRUNhaUFV4Q4=; 43 | b=CGlJhijNcPk9nWBEwLd9DFclsR9mdjlG/fm/u7deAMZnuNjWAu8VLgkPvKtNm4QrLL 44 | KnWPXfwYLKzQRBoZaovzSda6WmGRRDfJyB1MTcb4uk5SR5f6Nr1XVc8X/I3RYK3XyyQv 45 | qfXTUUb5k0IeyoEgIGBRugzFd+tgSMlYfe3SM= 46 | DomainKey-Signature: a=rsa-sha1; c=nofws; d=csmining.org; s=gamma; 47 | h=content-type:mime-version:subject:from:in-reply-to:date:cc 48 | :content-transfer-encoding:message-id:references:x-mailer; 49 | b=bnuvnTXjVBc6c8W9FM00L8c/RnSJXORu++pvLk+wjrR2uZOhBPoI9x5lOmpBIw+tg7 50 | R9TErxkxqYByXnB1L0pDjzn3OuWl16Ow+R+Xe/bB+njtvkNxLtg8lMk6unJ7pG3ZNBrh 51 | McriRr0heV1wscR1VoA8bAOyssXoh1/QZHJbc= 52 | Received: by 10.216.88.148 with SMTP id a20mr3280294wef.124.1272403206301; 53 | Tue, 27 Apr 2010 14:20:06 -0700 (PDT) 54 | Received: from mymb.home (host86-177-5-112.range86-177.btcentralplus.com 55 | [86.177.5.112]) 56 | by mx.google.com with ESMTPS id h26sm7977298wbc.11.2010.04.27.14.19.54 57 | (version=TLSv1/SSLv3 cipher=RC4-MD5); 58 | Tue, 27 Apr 2010 14:19:57 -0700 (PDT) 59 | Content-Type: text/plain; charset=us-ascii 60 | Mime-Version: 1.0 (Apple Message framework v1078) 61 | Subject: Re: AUGD: Re: PR Mailing Lists 62 | From: Jason Davies 63 | In-Reply-To: 64 | Date: Tue, 27 Apr 2010 22:19:51 +0100 65 | Content-Transfer-Encoding: quoted-printable 66 | Message-Id: <34D8D7E3-7517-4446-86A6-F256780290A9@csmining.org> 67 | References: 68 | X-Mailer: Apple Mail (2.1078) 69 | X-Brightmail-Tracker: AAAAAhPZlscT2caM 70 | Cc: Augd@lists.apple.com 71 | X-BeenThere: augd@lists.apple.com 72 | X-Mailman-Version: 2.1.5 73 | Precedence: list 74 | List-Id: "A place for Apple user group leaders and volunteers to exchange 75 | ideas." 76 | List-Unsubscribe: , 77 | 78 | List-Post: 79 | List-Help: 80 | List-Subscribe: , 81 | 82 | Sender: augd-bounces+mlsubscriber.tech=csmining.org@lists.apple.com 83 | Errors-To: augd-bounces+mlsubscriber.tech=csmining.org@lists.apple.com 84 | 85 | 86 | On 27 Apr 2010, at 18:39, Chris Hart wrote: 87 | 88 | >=20 89 | >=20 90 | > ___ John Feltham at wrote: ___ 91 | >=20 92 | >> G'day Chris, 93 | >>=20 94 | >> On 21/04/2010, at 1:02 PM, Chris Hart wrote: 95 | >>=20 96 | >>> See, that's downright disgusting that Apple won't even acknowledge 97 | >>> our existence. 98 | >>=20 99 | >> While I agree that their position is not good, I think that you have = 100 | to think 101 | >> that their business is the manufacture and sale of their products. 102 | >=20 103 | > I'm not asking them to promote our groups prominently. I just want = 104 | them to 105 | > publicly acknowledge our existence in a proud fashion and not hesitate = 106 | to 107 | > mention us to their customers when appropriate. 108 | 109 | 110 | while I understand the frustration I have also known MUGs which were = 111 | seriously dysfunctional and embarrassing to be part of. I can see why = 112 | Apple don't wish to promote a link with them, because they can't always = 113 | rely on it. All you need is a bad list-moderator and a couple of = 114 | nutters, and you have a list which all the right people leave. 115 | 116 | _______________________________________________ 117 | Do not post admin requests to the list. They will be ignored. 118 | Augd mailing list (Augd@lists.apple.com) 119 | Help/Unsubscribe/Update your Subscription: 120 | http://lists.apple.com/mailman/options/augd/mlsubscriber.tech%40csmining.org 121 | 122 | This email sent to mlsubscriber.tech@csmining.org 123 | 124 | -------------------------------------------------------------------------------- /media-types/text/plain/UTF-8-i_eat_glass.txt: -------------------------------------------------------------------------------- 1 | Sanskrit: काचं शक्नोम्यत्तुम् । नोपहिनस्ति माम् ॥ 2 | Sanskrit (standard transcription): kācaṃ śaknomyattum; nopahinasti mām. 3 | Classical Greek: ὕαλον ϕαγεῖν δύναμαι· τοῦτο οὔ με βλάπτει. 4 | Greek: Μπορώ να φάω σπασμένα γυαλιά χωρίς να πάθω τίποτα. 5 | Latin: Vitrum edere possum; mihi non nocet. 6 | Old French: Je puis mangier del voirre. Ne me nuit. 7 | French: Je peux manger du verre, ça ne me fait pas de mal. 8 | Provençal / Occitan: Pòdi manjar de veire, me nafrariá pas. 9 | Québécois: J'peux manger d'la vitre, ça m'fa pas mal. 10 | Walloon: Dji pou magnî do vêre, çoula m' freut nén må. 11 | Picard: Ch'peux mingi du verre, cha m'foé mie n'ma. 12 | Kreyòl Ayisyen: Mwen kap manje vè, li pa blese'm. 13 | Basque: Kristala jan dezaket, ez dit minik ematen. 14 | Catalan: Puc menjar vidre que no em fa mal. 15 | Spanish: Puedo comer vidrio, no me hace daño. 16 | Aragones: Puedo minchar beire, no me'n fa mal . 17 | Galician: Eu podo xantar cristais e non cortarme. 18 | Portuguese: Posso comer vidro, não me faz mal. 19 | Brazilian Portuguese: Posso comer vidro, não me machuca. 20 | Caboverdiano: M' podê cumê vidru, ca ta maguâ-m'. 21 | Papiamentu: Ami por kome glas anto e no ta hasimi daño. 22 | Italian: Posso mangiare il vetro e non mi fa male. 23 | Milanese: Sôn bôn de magnà el véder, el me fa minga mal. 24 | Roman: Me posso magna' er vetro, e nun me fa male. 25 | Napoletano: M' pozz magna' o'vetr, e nun m' fa mal. 26 | Sicilian: Puotsu mangiari u vitru, nun mi fa mali. 27 | Venetian: Mi posso magnare el vetro, no'l me fa mae. 28 | Zeneise (Genovese): Pòsso mangiâ o veddro e o no me fà mâ. 29 | Romanian: Pot să mănânc sticlă și ea nu mă rănește. 30 | Esperanto: Mi povas manĝi vitron, ĝi ne damaĝas min. 31 | Cornish: Mý a yl dybry gwéder hag éf ny wra ow ankenya. 32 | Welsh: Dw i'n gallu bwyta gwydr, 'dyw e ddim yn gwneud dolur i mi. 33 | Manx Gaelic: Foddym gee glonney agh cha jean eh gortaghey mee. 34 | Old Irish (Ogham): ᚛᚛ᚉᚑᚅᚔᚉᚉᚔᚋ ᚔᚈᚔ ᚍᚂᚐᚅᚑ ᚅᚔᚋᚌᚓᚅᚐ᚜ 35 | Old Irish (Latin): Con·iccim ithi nglano. Ním·géna. 36 | Irish: Is féidir liom gloinne a ithe. Ní dhéanann sí dochar ar bith dom. 37 | Scottish Gaelic: S urrainn dhomh gloinne ithe; cha ghoirtich i mi. 38 | Anglo-Saxon (Runes): ᛁᚳ᛫ᛗᚨᚷ᛫ᚷᛚᚨᛋ᛫ᛖᚩᛏᚪᚾ᛫ᚩᚾᛞ᛫ᚻᛁᛏ᛫ᚾᛖ᛫ᚻᛖᚪᚱᛗᛁᚪᚧ᛫ᛗᛖ᛬ 39 | Anglo-Saxon (Latin): Ic mæg glæs eotan ond hit ne hearmiað me. 40 | Middle English: Ich canne glas eten and hit hirtiþ me nouȝt. 41 | English: I can eat glass and it doesn't hurt me. 42 | English (IPA): [aɪ kæn iːt glɑːs ænd ɪt dɐz nɒt hɜːt miː] (Received Pronunciation) 43 | English (Braille): ⠊⠀⠉⠁⠝⠀⠑⠁⠞⠀⠛⠇⠁⠎⠎⠀⠁⠝⠙⠀⠊⠞⠀⠙⠕⠑⠎⠝⠞⠀⠓⠥⠗⠞⠀⠍⠑ 44 | Lalland Scots / Doric: Ah can eat gless, it disnae hurt us. 45 | Gothic (4): 𐌼𐌰𐌲 𐌲𐌻𐌴𐍃 𐌹̈𐍄𐌰𐌽, 𐌽𐌹 𐌼𐌹𐍃 𐍅𐌿 𐌽𐌳𐌰𐌽 𐌱𐍂𐌹𐌲𐌲𐌹𐌸. 46 | Old Norse (Runes): ᛖᚴ ᚷᛖᛏ ᛖᛏᛁ ᚧ ᚷᛚᛖᚱ ᛘᚾ ᚦᛖᛋᛋ ᚨᚧ ᚡᛖ ᚱᚧᚨ ᛋᚨᚱ 47 | Old Norse (Latin): Ek get etið gler án þess að verða sár. 48 | Norsk / Norwegian (Nynorsk): Eg kan eta glas utan å skada meg. 49 | Norsk / Norwegian (Bokmål): Jeg kan spise glass uten å skade meg. 50 | Íslenska / Icelandic: Ég get etið gler án þess að meiða mig. 51 | Svensk / Swedish: Jag kan äta glas utan att skada mig. 52 | Dansk / Danish: Jeg kan spise glas, det gør ikke ondt på mig. 53 | Soenderjysk: Æ ka æe glass uhen at det go mæ naue. 54 | Frysk / Frisian: Ik kin glês ite, it docht me net sear. 55 | Nederlands / Dutch: Ik kan glas eten; het doet mij geen pijn. 56 | Kirchröadsj/Bôchesserplat: Iech ken glaas èèse, mer 't deet miech jing pieng. 57 | Afrikaans: Ek kan glas eet, maar dit doen my nie skade nie. 58 | Lëtzebuergescht / Luxemburgish: Ech kan Glas iessen, daat deet mir nët wei. 59 | Deutsch / German: Ich kann Glas essen, ohne mir weh zu tun. 60 | Ruhrdeutsch: Ich kann Glas verkasematuckeln, ohne dattet mich wat jucken tut. 61 | Lausitzer Mundart ("Lusatian"): Ich koann Gloos assn und doas dudd merr ni wii. 62 | Sächsisch / Saxon: 'sch kann Glos essn, ohne dass'sch mer wehtue. 63 | Pfälzisch: Isch konn Glass fresse ohne dasses mer ebbes ausmache dud. 64 | Schwäbisch / Swabian: I kå Glas frässa, ond des macht mr nix! 65 | Bayrisch / Bavarian: I koh Glos esa, und es duard ma ned wei. 66 | Allemannisch: I kaun Gloos essen, es tuat ma ned weh. 67 | Schwyzerdütsch: Ich chan Glaas ässe, das tuet mir nöd weeh. 68 | Hungarian: Meg tudom enni az üveget, nem lesz tőle bajom. 69 | Suomi / Finnish: Voin syödä lasia, se ei vahingoita minua. 70 | Sami (Northern): Sáhtán borrat lása, dat ii leat bávččas. 71 | Estonian: Ma võin klaasi süüa, see ei tee mulle midagi. 72 | Latvian: Es varu ēst stiklu, tas man nekaitē. 73 | Lithuanian: Aš galiu valgyti stiklą ir jis manęs nežeidžia 74 | Czech: Mohu jíst sklo, neublíží mi. 75 | Slovak: Môžem jesť sklo. Nezraní ma. 76 | Polska / Polish: Mogę jeść szkło i mi nie szkodzi. 77 | Slovenian: Lahko jem steklo, ne da bi mi škodovalo. 78 | Croatian: Ja mogu jesti staklo i ne boli me. 79 | Serbian (Latin): Mogu jesti staklo a da mi ne škodi. 80 | Serbian (Cyrillic): Могу јести стакло а да ми не шкоди. 81 | Macedonian: Можам да јадам стакло, а не ме штета. 82 | Russian: Я могу есть стекло, оно мне не вредит. 83 | Belarusian (Cyrillic): Я магу есці шкло, яно мне не шкодзіць. 84 | Belarusian (Lacinka): Ja mahu jeści škło, jano mne ne škodzić. 85 | Ukrainian: Я можу їсти шкло, й воно мені не пошкодить. 86 | Bulgarian: Мога да ям стъкло, то не ми вреди. 87 | Georgian: მინას ვჭამ და არა მტკივა. 88 | Armenian: Կրնամ ապակի ուտել և ինծի անհանգիստ չըներ։ 89 | Albanian: Unë mund të ha qelq dhe nuk më gjen gjë. 90 | Turkish: Cam yiyebilirim, bana zararı dokunmaz. 91 | Turkish (Ottoman): جام ييه بلورم بڭا ضررى طوقونمز 92 | Bangla / Bengali: আমি কাঁচ খেতে পারি, তাতে আমার কোনো ক্ষতি হয় না। 93 | Marathi: मी काच खाऊ शकतो, मला ते दुखत नाही. 94 | Hindi: मैं काँच खा सकता हूँ, मुझे उस से कोई पीडा नहीं होती. 95 | Tamil: நான் கண்ணாடி சாப்பிடுவேன், அதனால் எனக்கு ஒரு கேடும் வராது. 96 | Urdu(2): میں کانچ کھا سکتا ہوں اور مجھے تکلیف نہیں ہوتی ۔ 97 | Pashto(2): زه شيشه خوړلې شم، هغه ما نه خوږوي 98 | Farsi / Persian: .من می توانم بدونِ احساس درد شيشه بخورم 99 | Arabic(2): أنا قادر على أكل الزجاج و هذا لا يؤلمني. 100 | Hebrew(2): אני יכול לאכול זכוכית וזה לא מזיק לי. 101 | Yiddish(2): איך קען עסן גלאָז און עס טוט מיר נישט װײ. 102 | Twi: Metumi awe tumpan, ɜnyɜ me hwee. 103 | Hausa (Latin): Inā iya taunar gilāshi kuma in gamā lāfiyā. 104 | Hausa (Ajami) (2): إِنا إِىَ تَونَر غِلَاشِ كُمَ إِن غَمَا لَافِىَا 105 | Yoruba(3): Mo lè je̩ dígí, kò ní pa mí lára. 106 | (Ki)Swahili: Naweza kula bilauri na sikunyui. 107 | Malay: Saya boleh makan kaca dan ia tidak mencederakan saya. 108 | Tagalog: Kaya kong kumain nang bubog at hindi ako masaktan. 109 | Chamorro: Siña yo' chumocho krestat, ti ha na'lalamen yo'. 110 | Javanese: Aku isa mangan beling tanpa lara. 111 | Vietnamese (quốc ngữ): Tôi có thể ăn thủy tinh mà không hại gì. 112 | Vietnamese (nôm) (4): 些 𣎏 世 咹 水 晶 𦓡 空 𣎏 害 咦 113 | Thai: ฉันกินกระจกได้ แต่มันไม่ทำให้ฉันเจ็บ 114 | Mongolian (Cyrillic): Би шил идэй чадна, надад хортой биш 115 | Mongolian (Classic) (5): ᠪᠢ ᠰᠢᠯᠢ ᠢᠳᠡᠶᠦ ᠴᠢᠳᠠᠨᠠ ᠂ ᠨᠠᠳᠤᠷ ᠬᠣᠤᠷᠠᠳᠠᠢ ᠪᠢᠰᠢ 116 | Tibetan: ཤེལ་སྒོ་ཟ་ནས་ང་ན་གི་མ་རེད། 117 | Chinese: 我能吞下玻璃而不伤身体。 118 | Chinese (Traditional): 我能吞下玻璃而不傷身體。 119 | Taiwanese(6): Góa ē-tàng chia̍h po-lê, mā bē tio̍h-siong. 120 | Japanese: 私はガラスを食べられます。それは私を傷つけません。 121 | Korean: 나는 유리를 먹을 수 있어요. 그래도 아프지 않아요 122 | Bislama: Mi save kakae glas, hemi no save katem mi. 123 | Hawaiian: Hiki iaʻu ke ʻai i ke aniani; ʻaʻole nō lā au e ʻeha. 124 | Marquesan: E koʻana e kai i te karahi, mea ʻā, ʻaʻe hauhau. 125 | Chinook Jargon: Naika məkmək kakshət labutay, pi weyk ukuk munk-sik nay. 126 | Navajo: Tsésǫʼ yishą́ągo bííníshghah dóó doo shił neezgai da. 127 | Lojban: mi kakne le nu citka le blaci .iku'i le se go'i na xrani mi 128 | -------------------------------------------------------------------------------- /media-types/application/rtf/Wikipedia_Editor_Survey_2012_-_documentation.rtf: -------------------------------------------------------------------------------- 1 | {\rtf1\ansi\deff3\adeflang1025 2 | {\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman;}{\f1\froman\fprq2\fcharset2 Symbol;}{\f2\fswiss\fprq2\fcharset0 Arial;}{\f3\froman\fprq2\fcharset0 Liberation Serif{\*\falt Times New Roman};}{\f4\fswiss\fprq2\fcharset0 Liberation Sans{\*\falt Arial};}{\f5\froman\fprq2\fcharset0 Calibri;}{\f6\fnil\fprq2\fcharset0 SimSun;}{\f7\fnil\fprq2\fcharset0 Lucida Sans;}{\f8\fswiss\fprq0\fcharset128 Lucida Sans;}} 3 | {\colortbl;\red0\green0\blue0;\red0\green0\blue128;\red128\green128\blue128;} 4 | {\stylesheet{\s0\snext0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af6\langfe2052\dbch\af7\afs24\alang1081\loch\f3\fs24\lang1033 Normal;} 5 | {\*\cs15\snext15\cf2\ul\ulc0\langfe255\alang255\lang255 Internet Link;} 6 | {\s16\sbasedon0\snext17\sb240\sa120\keepn\dbch\af6\dbch\af7\afs28\loch\f4\fs28 Heading;} 7 | {\s17\sbasedon0\snext17\sl288\slmult1\sb0\sa140 Text Body;} 8 | {\s18\sbasedon17\snext18\sl288\slmult1\sb0\sa140\dbch\af8 List;} 9 | {\s19\sbasedon0\snext19\sb120\sa120\noline\i\dbch\af8\afs24\ai\fs24 Caption;} 10 | {\s20\sbasedon0\snext20\noline\dbch\af8 Index;} 11 | }{\*\generator LibreOffice/4.4.1.2$MacOSX_X86_64 LibreOffice_project/45e2de17089c24a1fa810c8f975a7171ba4cd432}{\info{\creatim\yr2015\mo8\dy31\hr19\min55}{\revtim\yr0\mo0\dy0\hr0\min0}{\printim\yr0\mo0\dy0\hr0\min0}}\deftab709 12 | \viewscale100 13 | {\*\pgdsctbl 14 | {\pgdsc0\pgdscuse451\pgwsxn12240\pghsxn15840\marglsxn1134\margrsxn1134\margtsxn1134\margbsxn1134\pgdscnxt0 Default Style;}} 15 | \formshade{\*\pgdscno0}\paperh15840\paperw12240\margl1134\margr1134\margt1134\margb1134\sectd\sbknone\sectunlocked1\pgndec\pgwsxn12240\pghsxn15840\marglsxn1134\margrsxn1134\margtsxn1134\margbsxn1134\ftnbj\ftnstart1\ftnrstcont\ftnnar\aenddoc\aftnrstcont\aftnstart1\aftnnrlc 16 | {\*\ftnsep}\pgndec\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af6\langfe2052\dbch\af7\afs24\alang1081\loch\f3\fs24\lang1033{\cf1\rtlch \ltrch\loch\fs22\loch\f5 17 | (See }{{\field{\*\fldinst HYPERLINK "https://meta.wikimedia.org/wiki/Research:Wikipedia_Editor_Survey_2012" }{\fldrslt {\cf2\ul\ulc0\langfe255\alang255\lang255\cf1\rtlch \ltrch\loch\fs22\loch\f5 18 | https://meta.wikimedia.org/wiki/Research:Wikipedia_Editor_Survey_2012}{}}}\cf1\rtlch \ltrch\loch\fs22\loch\f5 19 | for general information about this survey)} 20 | \par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af6\langfe2052\dbch\af7\afs24\alang1081\loch\f3\fs24\lang1033\cf1\rtlch \ltrch\loch\fs22\loch\f5 21 | 22 | \par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af6\langfe2052\dbch\af7\afs24\alang1081\loch\f3\fs24\lang1033\cf1\rtlch \ltrch\loch\fs22\loch\f5 23 | 24 | \par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af6\langfe2052\dbch\af7\afs24\alang1081\loch\f3\fs24\lang1033{\cf1\rtlch \ltrch\loch\fs22\loch\f5 25 | In order to preserve the identity and privacy of the editing community, we have made several modifications to the dataset.} 26 | \par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af6\langfe2052\dbch\af7\afs24\alang1081\loch\f3\fs24\lang1033{\cf1\rtlch \ltrch\loch\fs22\loch\f5 27 | 1. First off, we removed all the open-ended responses from the data. For instance, the text portions of all the \u8220\'93Other, please specify:\u8221\'94 sections associated with some questions (one example: \u8220\'93If you had to name one thing that motivates you most to contribute to Wikipedia, what would it be?\u8221\'94) were removed from the data.} 28 | \par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af6\langfe2052\dbch\af7\afs24\alang1081\loch\f3\fs24\lang1033{\cf1\rtlch \ltrch\loch\fs22\loch\f5 29 | 2. For the purposes of our analysis, we had included actual user data: lifetime edits, joining year, whether the user is an admin or reviewer on the wiki where they started the survey etc. This was excluded from the dataset. We retained the project name of the wiki where the user started the survey (e.g. \u8220\'93frwiki\u8221\'94 for the French Wikipedia).} 30 | \par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af6\langfe2052\dbch\af7\afs24\alang1081\loch\f3\fs24\lang1033{\cf1\rtlch \ltrch\loch\fs22\loch\f5 31 | 3. Also, we removed the columns describing the response's start date, end date, response set, and status, as it wasn\u8217\'92t relevant.} 32 | \par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af6\langfe2052\dbch\af7\afs24\alang1081\loch\f3\fs24\lang1033\cf1\rtlch \ltrch\loch\fs22\loch\f5 33 | 34 | \par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af6\langfe2052\dbch\af7\afs24\alang1081\loch\f3\fs24\lang1033{\cf1\rtlch \ltrch\loch\fs22\loch\f5 35 | After these basic checks, we took a series of steps to ensure the privacy of minorities \u8211\'96 geographic, language as well as gender. Due to their relatively smaller numbers, we wanted to make sure that their identities could not be easily deciphered.} 36 | \par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af6\langfe2052\dbch\af7\afs24\alang1081\loch\f3\fs24\lang1033{\cf1\rtlch \ltrch\loch\fs22\loch\f5 37 | For Country of residence (D5), the primary languages question (D7), the Wikipedia contribution languages questions (Q1a, Q1b), as well as the reading languages questions (Q2a, Q2b) and the project name:} 38 | \par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af6\langfe2052\dbch\af7\afs24\alang1081\loch\f3\fs24\lang1033{\cf1\rtlch \ltrch\loch\fs22\loch\f5 39 | a. If the total number of entries for a single response (for instance, a single country) was less than 26, all those entries were set to \u8220\'93other\u8221\'94.} 40 | \par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af6\langfe2052\dbch\af7\afs24\alang1081\loch\f3\fs24\lang1033{\cf1\rtlch \ltrch\loch\fs22\loch\f5 41 | b. Next, if the number of entries by women were less than 11, all those entries were set to \u8220\'93other\u8221\'94.} 42 | \par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af6\langfe2052\dbch\af7\afs24\alang1081\loch\f3\fs24\lang1033{\cf1\rtlch \ltrch\loch\fs22\loch\f5 43 | c. Due to their extremely small numbers, responses to these questions given by transsexuals and transgenders were set to \u8220\'93other\u8221\'94.} 44 | \par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af6\langfe2052\dbch\af7\afs24\alang1081\loch\f3\fs24\lang1033\cf1\rtlch \ltrch\loch\fs22\loch\f5 45 | 46 | \par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af6\langfe2052\dbch\af7\afs24\alang1081\loch\f3\fs24\lang1033\cf1\rtlch \ltrch\loch\fs22\loch\f5 47 | 48 | \par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af6\langfe2052\dbch\af7\afs24\alang1081\loch\f3\fs24\lang1033{\cf1\rtlch \ltrch\loch\fs22\loch\f5 49 | For country-specific datasets (prepared for those countries of residence with >100 respondents in D5 that had been removed in step 3 - Austria, Brazil, Switzerland, Colombia, and Indonesia):} 50 | \par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af6\langfe2052\dbch\af7\afs24\alang1081\loch\f3\fs24\lang1033{\cf1\rtlch \ltrch\loch\fs22\loch\f5 51 | 1. Remove the gender response column entirely} 52 | \par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af6\langfe2052\dbch\af7\afs24\alang1081\loch\f3\fs24\lang1033{\cf1\rtlch \ltrch\loch\fs22\loch\f5 53 | 2. Go through all of the steps above (without 3a and 3b, of course), with the limit of 26 in 3a referring to the number of responses from that particular country} 54 | \par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af6\langfe2052\dbch\af7\afs24\alang1081\loch\f3\fs24\lang1033{\cf1\rtlch \ltrch\loch\fs22\loch\f5 55 | 3. Remove the response ID to avoid re-matching with the general anonymized dataset} 56 | \par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\dbch\af6\langfe2052\dbch\af7\afs24\alang1081\loch\f3\fs24\lang1033{\cf1\rtlch \ltrch\loch\fs22\loch\f5 57 | 4. Randomize order of rows} 58 | \par } -------------------------------------------------------------------------------- /media-types/application/x-shellscript/install_zdl.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -i 2 | 3 | DIR="$PWD" 4 | path_usr="/usr/local/share/zdl" 5 | path_tmp=".zdl_tmp" 6 | 7 | PROG=ZigzagDownLoader 8 | name_prog=ZigzagDownLoader 9 | prog=zdl 10 | BIN="/usr/local/bin" 11 | SHARE="/usr/local/share/zdl" 12 | URL_ROOT="http://download.savannah.gnu.org/releases/zdl/" 13 | cygaxel_url="http://www.inventati.org/zoninoz/html/upload/files/axel-2.4-1.tar.bz2" #http://fd0.x0.to/cygwin/release/axel/axel-2.4-1bl1.tar.bz2 14 | success="Installazione completata" 15 | failure="Installazione non riuscita" 16 | path_conf="$HOME/.$prog" 17 | file_conf="$path_conf/$prog.conf" 18 | 19 | if [[ -z "$(grep 'shopt -s checkwinsize' $HOME/.bashrc)" ]] 20 | then 21 | echo "shopt -s checkwinsize" >> ~/.bashrc 22 | fi 23 | 24 | mkdir -p "$path_conf/extensions" 25 | 26 | if [ ! -f "$file_conf" ] 27 | then 28 | echo "# ZigzagDownLoader configuration file" > "$file_conf" 29 | fi 30 | 31 | if [ -e /cygdrive ] 32 | then 33 | win_home=$(cygpath -u "$HOMEDRIVE$HOMEPATH") 34 | win_progfiles=$(cygpath -u "$PROGRAMFILES") 35 | fi 36 | cygdrive=$(realpath /cygdrive/?/cygwin 2>/dev/null) 37 | [ -z "$cygdrive" ] && cygdrive=$(realpath /cygdrive/?/Cygwin 2>/dev/null) 38 | cygdrive="${cygdrive#*cygdrive\/}" 39 | cygdrive="${cygdrive%%\/*}" 40 | [ -z "$cygdrive" ] && cygdrive="C" 41 | 42 | 43 | 44 | ## funzioni per Cygwin 45 | function get-mirror { 46 | mirror=$(grep 'last-mirror' /etc/setup/setup.rc -A 1 | tail -n1) 47 | } 48 | 49 | function pkt-download { 50 | cscript /nologo downloader_tmp.js $1 $2 2>/dev/null 51 | } 52 | 53 | function last-pkt { 54 | path_pkt=$(grep "\@ $1$" -A 15 <<< "$setup"| grep install |head -n1 | awk '{print $2}') 55 | echo ${path_pkt##*\/} 56 | } 57 | 58 | function init { 59 | get-mirror 60 | pkt-download $mirror/x86/setup.bz2 setup.bz2 61 | setup=$(bzcat setup.bz2) 62 | unset pkts 63 | } 64 | 65 | function cygwinports { 66 | mirror=ftp://ftp.cygwinports.org/pub/cygwinports 67 | wget $mirror/x86/setup.bz2 68 | setup=$(bzcat setup.bz2) 69 | unset pkts 70 | } 71 | 72 | function required-pkt { 73 | if [[ ! "${pkts[*]}" =~ $1 ]] 74 | then 75 | pkts[${#pkts[*]}]="$1" 76 | fi 77 | 78 | dep_pkt=$(grep "\@ $1$" -A 15 <<< "$setup"| grep requires |head -n1) 79 | for p in ${dep_pkt#* } 80 | do 81 | if [ ! -f /etc/setup/$p.lst.gz ] 82 | then 83 | required-pkt $p 84 | fi 85 | done 86 | } 87 | 88 | ## Axel - Cygwin 89 | function install_axel-cygwin { 90 | test_axel=`command -v axel` 91 | if [ -z $test_axel ]; then 92 | cd / 93 | wget "$cygaxel_url" 94 | tar -xvjf "${cygaxel_url##*'/'}" 95 | cd - 96 | fi 97 | } 98 | 99 | ############## 100 | 101 | 102 | function bold { 103 | echo -e "\e[1m$1\e[0m" 104 | } 105 | 106 | 107 | #### Axel 108 | 109 | function check_downloader { 110 | while [ -z "`command -v axel 2>/dev/null`" ] 111 | do 112 | bold "ATTENZIONE: Axel non è installato nel tuo sistema" 113 | 114 | echo -e "$PROG può scaricare con Wget ma raccomanda fortemente Axel, perché:\n 115 | - può accelerare sensibilmente il download 116 | - permette il recupero dei download in caso di interruzione 117 | 118 | Per ulteriori informazioni su Axel: http://alioth.debian.org/projects/axel/ 119 | 120 | 1) Installa automaticamente Axel da pacchetti 121 | 2) Installa automaticamente Axel da sorgenti 122 | 3) Esci da $PROG per installare Axel manualmente (puoi trovarlo qui: http://pkgs.org/search/?keyword=axel)" 123 | 124 | bold "Scegli cosa fare (1-3)" 125 | read input 126 | 127 | case $input in 128 | 129 | 1) install_pk ;; 130 | 2) install_src ;; 131 | 3) exit ;; 132 | 133 | esac 134 | done 135 | } 136 | 137 | function install_test { 138 | if [[ ! $(command -v axel 2>/dev/null) ]] 139 | then 140 | bold "Installazione automatica non riuscita" 141 | case $1 in 142 | pk) echo "$2 non ha trovato il pacchetto di Axel" ;; 143 | src) echo "Errori nella compilazione o nell'installazione";; 144 | esac 145 | fi 146 | echo 147 | bold "" 148 | read 149 | } 150 | 151 | function install_pk { 152 | echo "Installo Axel ..." 153 | if [[ $(command -v apt-get 2>/dev/null) ]] 154 | then 155 | DEBIAN_FRONTEND=noninteractive sudo apt-get --no-install-recommends -q -y install axel || ( echo "Digita la password di root" ; DEBIAN_FRONTEND=noninteractive su -c "apt-get --no-install-recommends -q -y install axel" ) 156 | install_test pk apt-get 157 | 158 | elif [[ $(command -v yum 2>/dev/null) ]] 159 | then 160 | sudo yum install axel || ( echo "Digita la password di root" ; su -c "yum install axel" ) 161 | install_test pk yum 162 | 163 | elif [[ $(command -v pacman 2>/dev/null) ]] 164 | then 165 | sudo pacman -S axel 2>/dev/null || ( echo "Digita la password di root" ; su -c "pacman -S axel" ) 166 | install_test pk pacman 167 | else 168 | install_test 169 | fi 170 | } 171 | 172 | function install_src { 173 | cd /usr/src 174 | wget https://alioth.debian.org/frs/download.php/file/3015/axel-2.4.tar.gz 175 | 176 | tar -xzvf axel-2.4.tar.gz 177 | cd axel-2.4 178 | 179 | make 180 | sudo make install || ( echo "Digita la password di root" ; su -c "make install" ) 181 | make clean 182 | install_test src 183 | cd - 184 | } 185 | 186 | 187 | ## Xterm 188 | function check_xterm { 189 | while [ -z "`command -v xterm 2>/dev/null`" ] 190 | do 191 | bold "ATTENZIONE: XTerm non è installato nel tuo sistema" 192 | 193 | echo -e "$name_prog utilizza XTerm se avviato da un'applicazione grafica come Firefox/Iceweasel/Icecat (tramite Flashgot), Chrome/Chromium (attraverso Download Assistant o Simple Get), XXXTerm/Xombrero e Conkeror: 194 | 195 | 1) Installa automaticamente XTerm da pacchetti 196 | 2) Installa automaticamente XTerm da sorgenti 197 | 3) Esci da $name_prog per installare Xterm manualmente (puoi trovarlo qui: http://pkgs.org/search/?keyword=xterm)" 198 | 199 | bold "Scegli cosa fare (1-3)" 200 | read input 201 | 202 | case $input in 203 | 1) install_pk_xterm ;; 204 | 2) install_src_xterm ;; 205 | 3) exit ;; 206 | esac 207 | done 208 | } 209 | 210 | function install_test_xterm { 211 | if [[ ! $(command -v xterm 2>/dev/null) ]] 212 | then 213 | bold "Installazione automatica non riuscita" 214 | case $1 in 215 | pk) echo "$2 non ha trovato il pacchetto di XTerm" ;; 216 | src) echo "Errori nella compilazione o nell'installazione";; 217 | esac 218 | fi 219 | echo 220 | bold "" 221 | read 222 | } 223 | 224 | function install_pk_xterm { 225 | echo "Installo XTerm ..." 226 | 227 | if [[ $(command -v apt-get 2>/dev/null) ]] 228 | then 229 | DEBIAN_FRONTEND=noninteractive sudo apt-get --no-install-recommends -q -y install xterm || ( echo "Digita la password di root" ; DEBIAN_FRONTEND=noninteractive su -c "apt-get --no-install-recommends -q -y install xterm" ) 230 | install_test_xterm pk apt-get 231 | 232 | elif [[ $(command -v yum 2>/dev/null) ]] 233 | then 234 | sudo yum install xterm || ( echo "Digita la password di root" ; su -c "yum install xterm" ) 235 | install_test_xterm pk yum 236 | 237 | elif [[ $(command -v pacman 2>/dev/null) ]] 238 | then 239 | sudo pacman -S xterm 2>/dev/null || ( echo "Digita la password di root" ; su -c "pacman -S xterm" ) 240 | install_test_xterm pk pacman 241 | 242 | else 243 | install_test_xterm 244 | fi 245 | } 246 | 247 | function install_src_xterm { 248 | cd /usr/src 249 | wget http://invisible-island.net/datafiles/release/xterm.tar.gz 250 | 251 | tar -xzvf xterm.tar.gz 252 | cd xterm-300 253 | 254 | make 255 | sudo make install || ( echo "Digita la password di root" ; su -c "make install" ) 256 | make clean 257 | install_test_xterm src 258 | cd - 259 | } 260 | 261 | 262 | echo "Installazione di ZigzagDownLoader (ZDL)" 263 | 264 | mkdir -p "$path_conf/src" 265 | cd "$path_conf/src" 266 | rm *.tar.gz* $prog -rf 267 | 268 | echo "Download in corso: attendere..." 269 | 270 | if [ -e /cygdrive ] 271 | then 272 | cd /tmp 273 | 274 | echo -e 'var WinHttpReq = new ActiveXObject("WinHttp.WinHttpRequest.5.1"); 275 | WinHttpReq.Open("GET", WScript.Arguments(0), /*async=*/false); 276 | WinHttpReq.Send(); 277 | //WScript.Echo(WinHttpReq.ResponseText); 278 | 279 | BinStream = new ActiveXObject("ADODB.Stream"); 280 | BinStream.Type = 1; 281 | BinStream.Open(); 282 | BinStream.Write(WinHttpReq.ResponseBody); 283 | BinStream.SaveToFile(WScript.Arguments(1));' > downloader_tmp.js 284 | 285 | if [[ ! $(command -v wget 2>/dev/null) ]] 286 | then 287 | echo -e " 288 | Installazione di Wget 289 | ...attendi... 290 | 291 | " 292 | init 293 | required-pkt wget 294 | 295 | for p in ${pkts[*]} 296 | do 297 | echo "Installing $p..." 298 | last-pkt $p 299 | tarball=${path_pkt##*\/} 300 | pkt-download $mirror/$path_pkt $tarball 301 | 302 | cd / 303 | [ "$tarball" != "${tarball%.xz}" ] && tar -xvJf /tmp/$tarball 304 | [ "$tarball" != "${tarball%.bz2}" ] && tar -xvjf /tmp/$tarball 305 | cd /tmp 306 | done 307 | 308 | cd /tmp 309 | rm -f downloader_tmp.js setup.bz2 *.tar.* 310 | fi 311 | 312 | fi 313 | 314 | wget "$URL_ROOT" -r -l 1 -A sig,txt -np -nd -q 315 | wget "http://git.savannah.gnu.org/cgit/zdl.git/snapshot/zdl-1.0.tar.gz" -q 316 | cp *.sig "$path_conf"/zdl.sig 317 | 318 | package=$(ls *.tar.gz) 319 | tar -xzf "$package" 320 | 321 | rm -fr "$prog" 322 | mv "${package%.tar.gz}" $prog 323 | cd $prog 324 | 325 | chmod +rx -R . 326 | 327 | ## UPDATER ######## 328 | installer="true" 329 | 330 | source updater.sh 331 | source ui/widgets.sh 332 | source ui/ui.sh 333 | 334 | update 335 | ################### 336 | 337 | ## Axel 338 | if [ -e "/cygdrive" ] 339 | then 340 | install_axel-cygwin 341 | else 342 | check_downloader 343 | [ -n "$(command -v X 2>/dev/null )" ] && check_xterm 344 | fi 345 | 346 | cd "$DIR" 347 | rm -fr "$path_conf/src" 348 | 349 | bold "$success" 350 | bold "Per informazioni su ZigzagDownLoader (zdl): zdl --help" 351 | exit 352 | -------------------------------------------------------------------------------- /media-types/text/x-bibtex/xampl.bib: -------------------------------------------------------------------------------- 1 | % Copyright (C) 1988, 2010 Oren Patashnik. 2 | % Unlimited copying and redistribution of this file are permitted if it 3 | % is unmodified. Modifications (and their redistribution) are also 4 | % permitted, as long as the resulting file is renamed. 5 | 6 | @preamble{ "\newcommand{\noopsort}[1]{} " 7 | # "\newcommand{\printfirst}[2]{#1} " 8 | # "\newcommand{\singleletter}[1]{#1} " 9 | # "\newcommand{\switchargs}[2]{#2#1} " } 10 | 11 | @ARTICLE{article-minimal, 12 | author = {L[eslie] A. Aamport}, 13 | title = {The Gnats and Gnus Document Preparation System}, 14 | journal = {\mbox{G-Animal's} Journal}, 15 | year = 1986, 16 | } 17 | 18 | @ARTICLE{article-full, 19 | author = {L[eslie] A. Aamport}, 20 | title = {The Gnats and Gnus Document Preparation System}, 21 | journal = {\mbox{G-Animal's} Journal}, 22 | year = 1986, 23 | volume = 41, 24 | number = 7, 25 | pages = "73+", 26 | month = jul, 27 | note = "This is a full ARTICLE entry", 28 | } 29 | 30 | The KEY field is here to override the KEY field in the journal being 31 | cross referenced (so is the NOTE field, in addition to its imparting 32 | information). 33 | 34 | @ARTICLE{article-crossref, 35 | crossref = {WHOLE-JOURNAL}, 36 | key = "", 37 | author = {L[eslie] A. Aamport}, 38 | title = {The Gnats and Gnus Document Preparation System}, 39 | pages = "73+", 40 | note = "This is a cross-referencing ARTICLE entry", 41 | } 42 | 43 | @ARTICLE{whole-journal, 44 | key = "GAJ", 45 | journal = {\mbox{G-Animal's} Journal}, 46 | year = 1986, 47 | volume = 41, 48 | number = 7, 49 | month = jul, 50 | note = {The entire issue is devoted to gnats and gnus 51 | (this entry is a cross-referenced ARTICLE (journal))}, 52 | } 53 | 54 | @INBOOK{inbook-minimal, 55 | author = "Donald E. Knuth", 56 | title = "Fundamental Algorithms", 57 | publisher = "Addison-Wesley", 58 | year = "{\noopsort{1973b}}1973", 59 | chapter = "1.2", 60 | } 61 | 62 | @INBOOK{inbook-full, 63 | author = "Donald E. Knuth", 64 | title = "Fundamental Algorithms", 65 | volume = 1, 66 | series = "The Art of Computer Programming", 67 | publisher = "Addison-Wesley", 68 | address = "Reading, Massachusetts", 69 | edition = "Second", 70 | month = "10~" # jan, 71 | year = "{\noopsort{1973b}}1973", 72 | type = "Section", 73 | chapter = "1.2", 74 | pages = "10--119", 75 | note = "This is a full INBOOK entry", 76 | } 77 | 78 | @INBOOK{inbook-crossref, 79 | crossref = "whole-set", 80 | title = "Fundamental Algorithms", 81 | volume = 1, 82 | series = "The Art of Computer Programming", 83 | edition = "Second", 84 | year = "{\noopsort{1973b}}1973", 85 | type = "Section", 86 | chapter = "1.2", 87 | note = "This is a cross-referencing INBOOK entry", 88 | } 89 | 90 | @BOOK{book-minimal, 91 | author = "Donald E. Knuth", 92 | title = "Seminumerical Algorithms", 93 | publisher = "Addison-Wesley", 94 | year = "{\noopsort{1973c}}1981", 95 | } 96 | 97 | @BOOK{book-full, 98 | author = "Donald E. Knuth", 99 | title = "Seminumerical Algorithms", 100 | volume = 2, 101 | series = "The Art of Computer Programming", 102 | publisher = "Addison-Wesley", 103 | address = "Reading, Massachusetts", 104 | edition = "Second", 105 | month = "10~" # jan, 106 | year = "{\noopsort{1973c}}1981", 107 | note = "This is a full BOOK entry", 108 | } 109 | 110 | @BOOK{book-crossref, 111 | crossref = "whole-set", 112 | title = "Seminumerical Algorithms", 113 | volume = 2, 114 | series = "The Art of Computer Programming", 115 | edition = "Second", 116 | year = "{\noopsort{1973c}}1981", 117 | note = "This is a cross-referencing BOOK entry", 118 | } 119 | 120 | @BOOK{whole-set, 121 | author = "Donald E. Knuth", 122 | publisher = "Addison-Wesley", 123 | title = "The Art of Computer Programming", 124 | series = "Four volumes", 125 | year = "{\noopsort{1973a}}{\switchargs{--90}{1968}}", 126 | note = "Seven volumes planned (this is a cross-referenced set of BOOKs)", 127 | } 128 | 129 | @BOOKLET{booklet-minimal, 130 | key = "Kn{\printfirst{v}{1987}}", 131 | title = "The Programming of Computer Art", 132 | } 133 | 134 | @BOOKLET{booklet-full, 135 | author = "Jill C. Knvth", 136 | title = "The Programming of Computer Art", 137 | howpublished = "Vernier Art Center", 138 | address = "Stanford, California", 139 | month = feb, 140 | year = 1988, 141 | note = "This is a full BOOKLET entry", 142 | } 143 | 144 | @INCOLLECTION{incollection-minimal, 145 | author = "Daniel D. Lincoll", 146 | title = "Semigroups of Recurrences", 147 | booktitle = "High Speed Computer and Algorithm Organization", 148 | publisher = "Academic Press", 149 | year = 1977, 150 | } 151 | 152 | @INCOLLECTION{incollection-full, 153 | author = "Daniel D. Lincoll", 154 | title = "Semigroups of Recurrences", 155 | editor = "David J. Lipcoll and D. H. Lawrie and A. H. Sameh", 156 | booktitle = "High Speed Computer and Algorithm Organization", 157 | number = 23, 158 | series = "Fast Computers", 159 | chapter = 3, 160 | type = "Part", 161 | pages = "179--183", 162 | publisher = "Academic Press", 163 | address = "New York", 164 | edition = "Third", 165 | month = sep, 166 | year = 1977, 167 | note = "This is a full INCOLLECTION entry", 168 | } 169 | 170 | @INCOLLECTION{incollection-crossref, 171 | crossref = "whole-collection", 172 | author = "Daniel D. Lincoll", 173 | title = "Semigroups of Recurrences", 174 | pages = "179--183", 175 | note = "This is a cross-referencing INCOLLECTION entry", 176 | } 177 | 178 | @BOOK{whole-collection, 179 | editor = "David J. Lipcoll and D. H. Lawrie and A. H. Sameh", 180 | title = "High Speed Computer and Algorithm Organization", 181 | booktitle = "High Speed Computer and Algorithm Organization", 182 | number = 23, 183 | series = "Fast Computers", 184 | publisher = "Academic Press", 185 | address = "New York", 186 | edition = "Third", 187 | month = sep, 188 | year = 1977, 189 | note = "This is a cross-referenced BOOK (collection) entry", 190 | } 191 | 192 | @MANUAL{manual-minimal, 193 | key = "Manmaker", 194 | title = "The Definitive Computer Manual", 195 | } 196 | 197 | @MANUAL{manual-full, 198 | author = "Larry Manmaker", 199 | title = "The Definitive Computer Manual", 200 | organization = "Chips-R-Us", 201 | address = "Silicon Valley", 202 | edition = "Silver", 203 | month = apr # "-" # may, 204 | year = 1986, 205 | note = "This is a full MANUAL entry", 206 | } 207 | 208 | @MASTERSTHESIS{mastersthesis-minimal, 209 | author = "{\'{E}}douard Masterly", 210 | title = "Mastering Thesis Writing", 211 | school = "Stanford University", 212 | year = 1988, 213 | } 214 | 215 | @MASTERSTHESIS{mastersthesis-full, 216 | author = "{\'{E}}douard Masterly", 217 | title = "Mastering Thesis Writing", 218 | school = "Stanford University", 219 | type = "Master's project", 220 | address = "English Department", 221 | month = jun # "-" # aug, 222 | year = 1988, 223 | note = "This is a full MASTERSTHESIS entry", 224 | } 225 | 226 | @MISC{misc-minimal, 227 | key = "Missilany", 228 | note = "This is a minimal MISC entry", 229 | } 230 | 231 | @MISC{misc-full, 232 | author = "Joe-Bob Missilany", 233 | title = "Handing out random pamphlets in airports", 234 | howpublished = "Handed out at O'Hare", 235 | month = oct, 236 | year = 1984, 237 | note = "This is a full MISC entry", 238 | } 239 | 240 | @STRING{STOC-key = "OX{\singleletter{stoc}}"} 241 | 242 | @STRING{ACM = "The OX Association for Computing Machinery"} 243 | 244 | @STRING{STOC = " Symposium on the Theory of Computing"} 245 | 246 | @INPROCEEDINGS{inproceedings-minimal, 247 | author = "Alfred V. Oaho and Jeffrey D. Ullman and Mihalis Yannakakis", 248 | title = "On Notions of Information Transfer in {VLSI} Circuits", 249 | booktitle = "Proc. Fifteenth Annual ACM" # STOC, 250 | year = 1983, 251 | } 252 | 253 | @INPROCEEDINGS{inproceedings-full, 254 | author = "Alfred V. Oaho and Jeffrey D. Ullman and Mihalis Yannakakis", 255 | title = "On Notions of Information Transfer in {VLSI} Circuits", 256 | editor = "Wizard V. Oz and Mihalis Yannakakis", 257 | booktitle = "Proc. Fifteenth Annual ACM" # STOC, 258 | number = 17, 259 | series = "All ACM Conferences", 260 | pages = "133--139", 261 | month = mar, 262 | year = 1983, 263 | address = "Boston", 264 | organization = ACM, 265 | publisher = "Academic Press", 266 | note = "This is a full INPROCEDINGS entry", 267 | } 268 | 269 | @INPROCEEDINGS{inproceedings-crossref, 270 | crossref = "whole-proceedings", 271 | author = "Alfred V. Oaho and Jeffrey D. Ullman and Mihalis Yannakakis", 272 | title = "On Notions of Information Transfer in {VLSI} Circuits", 273 | organization = "", 274 | pages = "133--139", 275 | note = "This is a cross-referencing INPROCEEDINGS entry", 276 | } 277 | 278 | @PROCEEDINGS{proceedings-minimal, 279 | key = STOC-key, 280 | title = "Proc. Fifteenth Annual" # STOC, 281 | year = 1983, 282 | } 283 | 284 | @PROCEEDINGS{proceedings-full, 285 | editor = "Wizard V. Oz and Mihalis Yannakakis", 286 | title = "Proc. Fifteenth Annual" # STOC, 287 | number = 17, 288 | series = "All ACM Conferences", 289 | month = mar, 290 | year = 1983, 291 | address = "Boston", 292 | organization = ACM, 293 | publisher = "Academic Press", 294 | note = "This is a full PROCEEDINGS entry", 295 | } 296 | 297 | @PROCEEDINGS{whole-proceedings, 298 | key = STOC-key, 299 | organization = ACM, 300 | title = "Proc. Fifteenth Annual" # STOC, 301 | address = "Boston", 302 | year = 1983, 303 | booktitle = "Proc. Fifteenth Annual ACM" # STOC, 304 | note = "This is a cross-referenced PROCEEDINGS", 305 | } 306 | 307 | @PHDTHESIS{phdthesis-minimal, 308 | author = "F. Phidias Phony-Baloney", 309 | title = "Fighting Fire with Fire: Festooning {F}rench Phrases", 310 | school = "Fanstord University", 311 | year = 1988, 312 | } 313 | 314 | @PHDTHESIS{phdthesis-full, 315 | author = "F. Phidias Phony-Baloney", 316 | title = "Fighting Fire with Fire: Festooning {F}rench Phrases", 317 | school = "Fanstord University", 318 | type = "{PhD} Dissertation", 319 | address = "Department of French", 320 | month = jun # "-" # aug, 321 | year = 1988, 322 | note = "This is a full PHDTHESIS entry", 323 | } 324 | 325 | @TECHREPORT{techreport-minimal, 326 | author = "Tom Terrific", 327 | title = "An {$O(n \log n / \! \log\log n)$} Sorting Algorithm", 328 | institution = "Fanstord University", 329 | year = 1988, 330 | } 331 | 332 | @TECHREPORT{techreport-full, 333 | author = "Tom T{\'{e}}rrific", 334 | title = "An {$O(n \log n / \! \log\log n)$} Sorting Algorithm", 335 | institution = "Fanstord University", 336 | type = "Wishful Research Result", 337 | number = "7", 338 | address = "Computer Science Department, Fanstord, California", 339 | month = oct, 340 | year = 1988, 341 | note = "This is a full TECHREPORT entry", 342 | } 343 | 344 | @UNPUBLISHED{unpublished-minimal, 345 | author = "Ulrich {\"{U}}nderwood and Ned {\~N}et and Paul {\={P}}ot", 346 | title = "Lower Bounds for Wishful Research Results", 347 | note = "Talk at Fanstord University (this is a minimal UNPUBLISHED entry)", 348 | } 349 | 350 | @UNPUBLISHED{unpublished-full, 351 | author = "Ulrich {\"{U}}nderwood and Ned {\~N}et and Paul {\={P}}ot", 352 | title = "Lower Bounds for Wishful Research Results", 353 | month = nov # ", " # dec, 354 | year = 1988, 355 | note = "Talk at Fanstord University (this is a full UNPUBLISHED entry)", 356 | } 357 | 358 | @MISC{random-note-crossref, 359 | key = {Volume-2}, 360 | note = "Volume~2 is listed under Knuth \cite{book-full}" 361 | } 362 | -------------------------------------------------------------------------------- /media-types/text/css/w3-styles-css.css: -------------------------------------------------------------------------------- 1 | 2 | /* layout row with clearfix */ 3 | 4 | .w3-row:after { visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0; } 5 | * html .w3-row { zoom: 1; } /* IE6 */ 6 | *:first-child+html .w3-row { zoom: 1; } /* IE7 */ 7 | 8 | /* buttons */ 9 | 10 | .w3-button { 11 | border: 0; 12 | -moz-border-radius: 3px; 13 | -moz-box-shadow: 0 1px 3px rgba(0,0,0,0.5); 14 | -webkit-border-radius: 3px; 15 | -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.5); 16 | border-bottom: 1px solid rgba(0,0,0,0.25); 17 | background-color: #555; 18 | color: #FFF; 19 | cursor: pointer; 20 | font-size: 11px; 21 | font-weight: bold; 22 | left: 5px; 23 | padding: 2px 5px; 24 | position: relative; 25 | text-shadow: 0 -1px 1px rgba(0,0,0,0.25); 26 | line-height: 11px; 27 | height: 18px; 28 | vertical-align: top; 29 | } 30 | 31 | /* w3 container */ 32 | 33 | #w3-container { 34 | background: #fff url(../images/page_bkg.jpg) top left repeat-x; 35 | padding-right: 2%; 36 | } 37 | 38 | html.login #w3-container { 39 | padding-top: 50px; 40 | } 41 | 42 | html.login.iframe #w3-container { 43 | padding-top: 0; 44 | } 45 | 46 | /* w3c header */ 47 | 48 | #w3-header { 49 | background-color: #eee; 50 | height: 107px; 51 | overflow: hidden; 52 | } 53 | 54 | /* w3c logo */ 55 | 56 | #w3-logo { 57 | display: block; 58 | height: 107px; 59 | float: left; 60 | background: #005A9C url(../images/logo-w3c.png) top left no-repeat; 61 | width: 20%; 62 | } 63 | 64 | #w3-logo h2 { 65 | display: none; 66 | } 67 | 68 | /* sys nav area */ 69 | 70 | #sys-nav-area { 71 | width: 80%; 72 | margin: 0; 73 | padding: 0; 74 | float: right; 75 | height: 67px; 76 | } 77 | 78 | /* region form */ 79 | 80 | #region_form { 81 | float: right; 82 | margin-right: 20px; 83 | margin-top: 8px; 84 | } 85 | 86 | #region_form select { 87 | font-size: 13px; 88 | height: 20px; 89 | width: 14.3em; 90 | padding: 0 0 0 5px; 91 | } 92 | 93 | /* w3c top nav */ 94 | 95 | #w3-top-nav { 96 | list-style-type: none; 97 | display: inline-block; 98 | width: 58%; 99 | margin: 0 0 0 2%; 100 | padding: 0; 101 | float: left; 102 | font-size: 14px; 103 | } 104 | 105 | #w3-top-nav li { 106 | display: inline-block; 107 | text-shadow: 0 1px 1px #FFF; 108 | text-align: center; 109 | height: 41px; 110 | line-height: 20px; 111 | } 112 | 113 | #w3-top-nav a { 114 | display: block; 115 | border-right: 1px solid #fff; 116 | border-left: 1px solid #ddd; 117 | color: #0C3D5F; 118 | border-bottom: none; 119 | text-decoration: none; 120 | text-transform: uppercase; 121 | padding: 10px 10px 12px; 122 | } 123 | 124 | #w3-top-nav a:hover, 125 | #w3-top-nav a:focus, 126 | #w3-top-nav a.active, 127 | #w3-left-col nav a:hover, 128 | #w3-left-col nav a:focus, 129 | #w3-left-col nav a.active { 130 | text-decoration: none; 131 | color: #333; 132 | background-color: #fafafa; 133 | border-bottom: none; 134 | -webkit-transition: all .3s ease-out; 135 | -moz-transition: all .3s ease-out; 136 | -o-transition: all .3s ease-out; 137 | transition: all .3s ease-out; 138 | } 139 | 140 | #w3-top-nav li:first-child a { 141 | border-left: none; 142 | } 143 | 144 | #w3-top-nav li:last-child a { 145 | border-right: none; 146 | } 147 | 148 | /* site search */ 149 | 150 | #site-search { 151 | float: right; 152 | width: 15%; 153 | margin-right: 15px; 154 | border-bottom: 1px solid #d1d1d1; 155 | border-left: 1px solid #d1d1d1; 156 | border-right: 1px solid #d1d1d1; 157 | border-top: 1px solid #b6b6b6; 158 | background: url('../images/search-bg.png') repeat-x top left; 159 | height: 28px; 160 | -webkit-border-radius: 5px; 161 | -moz-border-radius: 5px; 162 | overflow: hidden; 163 | } 164 | 165 | #site-search input { 166 | border: none; 167 | color: #333; 168 | float: left; 169 | font-size: 19px; 170 | margin-left: 2px; 171 | margin-top: 4px; 172 | width: 70%; 173 | background: #fff url(../images/google.gif) 0 3px no-repeat; 174 | min-width: 2em; 175 | } 176 | 177 | #site-search button { 178 | float: right; 179 | border: none; 180 | background: none; 181 | margin-top: 1px; 182 | } 183 | 184 | /* main area */ 185 | 186 | #w3-main { 187 | background-color: #eee; 188 | } 189 | 190 | /* left col */ 191 | 192 | #w3-left-col { 193 | float: left; 194 | width: 20%; 195 | min-height: 200px; 196 | } 197 | 198 | #w3-logo-shadow { 199 | width: 100%; 200 | } 201 | 202 | /* left col nav */ 203 | 204 | #w3-left-col>nav>h3 { 205 | background: #E7E6E6 url('../images/category-bg-fold.png') no-repeat bottom right; 206 | text-shadow: 1px 1px 0 #fff; 207 | color: #347cb0; 208 | padding: 0 6px 0 0; 209 | width: 100%; 210 | position: relative; 211 | margin: 13px 0 0 0; 212 | font-weight: bold; 213 | font-size: 15px; 214 | line-height: 21px; 215 | text-transform: uppercase; 216 | box-sizing: content-box; 217 | } 218 | 219 | #w3-left-col>nav>h3 .ribbon { 220 | background: #E7E6E6 url('../images/category-bg.png') repeat-x bottom right; 221 | display: block; 222 | padding: 8px 5px 13px 20px; 223 | } 224 | 225 | #w3-left-col nav ul { 226 | padding: 10px 20px 0; 227 | font-size: 14px; 228 | list-style-type: none; 229 | margin: 0; 230 | } 231 | 232 | #w3-left-col nav ul li { 233 | border-bottom: 1px solid #ddd; 234 | } 235 | 236 | #w3-left-col nav ul li a { 237 | display: block; 238 | overflow: hidden; 239 | font-weight: normal; 240 | padding: 5px 0 5px 5px; 241 | } 242 | 243 | /* content col */ 244 | 245 | #w3-content-col { 246 | float: right; 247 | background-color: #fff; 248 | width: 80%; 249 | min-height: 200px; 250 | } 251 | 252 | /* breadcrumbs */ 253 | 254 | .breadcrumb { 255 | background: transparent; 256 | font-size: 13px; 257 | padding: 0; 258 | margin-bottom: 6px; 259 | } 260 | 261 | .breadcrumb a { 262 | color: #006EC6; 263 | } 264 | 265 | .breadcrumb a:hover { 266 | border-bottom: 2px solid #005A9C; 267 | text-decoration: none; 268 | } 269 | 270 | .breadcrumb .divider { 271 | color: #333; 272 | padding: 0 20px; 273 | } 274 | 275 | .breadcrumb .active { 276 | color: #333; 277 | -background: transparent url('../images/bct.png') no-repeat bottom center; /* requires a heading to be always present */ 278 | padding-bottom: 9px; 279 | } 280 | 281 | /* callimachus content */ 282 | 283 | #calli-content { 284 | padding: 20px 0 20px 50px; 285 | font-size: 14px; 286 | line-height: 21px; 287 | } 288 | 289 | #calli-content h3 { 290 | font-weight: bold; 291 | line-height: 40px; 292 | } 293 | 294 | #calli-content .tab-content { 295 | padding-right: 1em; 296 | } 297 | 298 | #calli-content h1, 299 | #calli-content hgroup h1 { 300 | font-size: 28px; 301 | border-bottom: 1px solid #C6D4E0; 302 | text-shadow: 1px 1px 0 #fff; 303 | padding: 10px 20px; 304 | background: #DBE7F0; 305 | font-weight: normal; 306 | letter-spacing: -0.05em; 307 | text-transform: uppercase; 308 | color: #000; 309 | line-height: 40px; 310 | margin-top: 6px; 311 | } 312 | 313 | /* content links */ 314 | 315 | #calli-content .tab-content a, 316 | #calli-content .sidebar a { 317 | border-bottom: 2px solid #a8bfcf; 318 | padding-bottom: 1px; 319 | } 320 | 321 | #calli-content .tab-content a:hover, 322 | #calli-content .sidebar a:hover { 323 | border-bottom: 2px solid #005A9C; 324 | text-decoration: none; 325 | } 326 | 327 | #calli-content #folder-box a, 328 | #calli-content #folder-box a:hover, 329 | #calli-content a.img-link, 330 | #calli-content a.img-link:hover 331 | { 332 | border-bottom: none; 333 | } 334 | 335 | /* sidebar */ 336 | 337 | .sidebar.pull-right { 338 | margin-right: 2%; 339 | } 340 | 341 | .sidebar aside { 342 | margin-bottom: 0; 343 | font-size: 14px; 344 | } 345 | 346 | .sidebar aside > * { 347 | margin-left: 10px; 348 | padding: 10px 20px 0 20px; 349 | } 350 | 351 | .sidebar aside h3 { 352 | background: #FCFBFB url('../images/category-bg-right.png') repeat-x bottom right; 353 | text-shadow: 1px 1px 0 #fff; 354 | color: #347cb0; 355 | padding: 5px 11px 15px 10px; 356 | margin: 20px 0 3px 10px; 357 | font-weight: bold; 358 | font-size: 15px; 359 | text-transform: uppercase; 360 | } 361 | 362 | .sidebar aside ul { 363 | font-size: 13px; 364 | list-style-type: none; 365 | } 366 | 367 | .sidebar aside ul li { 368 | border-bottom: 1px solid #ddd; 369 | } 370 | 371 | .sidebar aside ul li a { 372 | display: block; 373 | overflow: hidden; 374 | font-weight: normal; 375 | padding: 5px 0 5px 5px; 376 | } 377 | 378 | /* footer */ 379 | 380 | #w3-footer { 381 | text-align: center; 382 | background: #fff url(../images/footer-shadow.png) top center no-repeat; 383 | padding: 30px 0 20px; 384 | font-size: 13px; 385 | } 386 | 387 | #w3-footer .generator { 388 | margin: -50px 2% 30px 0; 389 | padding-right: 15px; 390 | } 391 | 392 | .w3-footer-section { 393 | display: inline-block; 394 | width: 180px; 395 | text-align: left; 396 | vertical-align: top; 397 | color: #17445F; 398 | } 399 | 400 | .w3-footer-section h3 { 401 | text-transform: uppercase; 402 | font-size: 16px; 403 | height: 19px; 404 | } 405 | 406 | .w3-footer-section ul { 407 | list-style-type: none; 408 | margin: 0; 409 | padding: 10px 0 0; 410 | } 411 | 412 | .w3-footer-section li { 413 | line-height: 15px; 414 | } 415 | 416 | .w3-footer-section a { 417 | color: #036; 418 | } 419 | 420 | .w3-footer-section a:visited { 421 | color: #006EC6; 422 | } 423 | 424 | .w3-footer-section a:hover img.social-icon { 425 | opacity: 0.6; 426 | } 427 | 428 | #calli-content .container { 429 | width: 100% !important; 430 | } 431 | 432 | /* media queries */ 433 | 434 | @media (max-width: 990px) { 435 | [class*="span"], .row [class*="span"] { 436 | float: none; 437 | display: block; 438 | width: 100%; 439 | margin-left: 0; 440 | } 441 | } 442 | 443 | @media (max-width: 767px) { 444 | 445 | body { 446 | padding-left: 0; 447 | padding-right: 0; 448 | } 449 | 450 | #w3-header { 451 | height: auto; 452 | } 453 | 454 | #w3-logo, 455 | #sys-nav-area, 456 | #region_form, 457 | #w3-top-nav, 458 | #site-search { 459 | float: none; 460 | width: 100%; 461 | } 462 | 463 | #sys-nav-area { 464 | height: auto; 465 | } 466 | 467 | #region_form { 468 | text-align: right; 469 | margin: 5px 2%; 470 | width: 96%; 471 | } 472 | 473 | #site-search { 474 | margin: 5px 2%; 475 | width: 96%; 476 | } 477 | 478 | } 479 | 480 | @media (max-width: 595px) { 481 | 482 | #w3-left-col, 483 | #w3-content-col, 484 | #w3-footer .generator { 485 | float: none; 486 | width: 100%; 487 | } 488 | 489 | #w3-container { 490 | padding-right: 0; 491 | } 492 | 493 | #w3-top-nav a { 494 | padding: 5px 5px 5px 5px; 495 | font-size: 12px; 496 | } 497 | 498 | #w3-logo { 499 | background: #2975AC url(/themes/2014/w3/images/logo-w3c-mobile-lg.png) top left no-repeat; 500 | height: 53px; 501 | } 502 | 503 | #w3-left-col { 504 | min-height: auto; 505 | } 506 | 507 | #w3-left-col > img { 508 | height: 5px; 509 | } 510 | 511 | #w3-left-col nav h3 { 512 | background: #e7e6e6; 513 | padding: 0; 514 | margin-top: 0; 515 | } 516 | #w3-left-col nav ul { 517 | padding: 5px 5px 0; 518 | } 519 | 520 | #w3-left-col nav ul li a { 521 | padding: 1px; 522 | } 523 | 524 | #calli-content { 525 | padding: 10px 0; 526 | } 527 | 528 | #calli-content > div { 529 | padding: 0 15px; 530 | } 531 | 532 | #w3-footer .generator { 533 | margin: 10px 0; 534 | padding: 0; 535 | } 536 | 537 | } 538 | -------------------------------------------------------------------------------- /media-types/text/html/xml-tools.html: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Tools for Converting LaTeX to XML 15 | 16 | 17 | 18 | 19 | 30 | 31 |
32 | 33 |
34 |
35 | 36 |

Tools for Converting LaTeX to XML

37 | 38 | 39 |
40 | 41 | 42 | 43 | 44 |
45 |

I spent some time surveying the available tools for converting LaTeX 46 | to XHTML+MathML or, more generally, LaTeX to XML. My criteria were 47 | the following:

48 | 49 |
    50 |
  • The project must be free and open source.
  • 51 |
  • It should produce clean, semantic XHTML+MathML or XML output.
  • 52 |
  • It should be able to handle macro definitions using standard LaTeX commands.
  • 53 |
  • The possibility of adding support for additional LaTeX packages 54 | (e.g., natbib or hyperref) is a plus.
  • 55 |
  • Tools that require little or no manual intervention or modification 56 | of the LaTeX source are preferred.
  • 57 |
58 | 59 |

I was pleasantly surprised at how many projects I found that actually 60 | met most of these criteria. Those that I am aware of are described in 61 | more detail below.

62 | 63 |

Overall, I was most impressed with LaTeXML. In my opinion, its 64 | usage is the most straightforward and it produces very clean, general 65 | XML output which can produce easily customizable XHTML+MathML 66 | documents.

67 | 68 |

LaTeXML

69 | 70 |

LaTeXML is Perl module which parses the actual LaTeX document and 71 | emits XML output for later post-processing (for example, for conversion 72 | to XHTML+MathML). With a proper XSLT stylesheet, one can obtain custom 73 | XHTML+MathML output. The LaTeXML homepage itself was generated 74 | using LaTeXML. The project is still active (at the time of writing), it’s 75 | very well documented and it has a Trac 76 | and a mailing list.

77 | 78 |

If you use Debian GNU/Linux, you can install the relevant dependencies with

79 | 80 |
sudo apt-get install libparse-recdescent-perl libimage-magick-perl \
 81 |   libxml-libxml-common-perl libxml-libxslt-perl
 82 | 
83 | 84 |

The package is installed using the usual procedure for Perl modules:

85 | 86 |
perl Makefile.PL
 87 | make
 88 | make test
 89 | sudo make install
 90 | 
91 | 92 |

The usage is straightforward. First convert the LaTeX document, say 93 | mydoc.tex to XML and then post-process the XML, converting it to 94 | XHTML+MathML:

95 | 96 |
latexml --dest=mydoc.xml mydoc
 97 | latexmlpost -dest=somewhere/mydoc.xhtml mydoc.xml
 98 | 
99 | 100 |

LaTeXML is a project of the NIST and is therefore in 101 | the public domain.

102 | 103 |

Tralics

104 | 105 |

Tralics is written in C++ and also directly parses the LaTeX 106 | source (and it’s also extremely fast). It is licensed under the 107 | French CeCill open source license which is GPL-compatible.

108 | 109 |

Compiling it is straightforward:

110 | 111 |
tar zxvf tralics-src-2.13.5.tar.gz
112 | cd tralics-2.13.5/src
113 | make
114 | 
115 | 116 |

To convert a LaTeX document to XML:

117 | 118 |
tralics doc.tex
119 | 
120 | 121 |

A file called doc.xml will be created. Tralics handles any unknown 122 | commands from unsupported package such as hyperref, for example, by 123 | including an <error> tag:

124 | 125 |
<error n='\hypersetup' l='35' c='Undefined command'/>
126 | 
127 | 128 |

So, apparently it should never fail to parse the document as long 129 | as it is valid LaTeX.

130 | 131 |

The XML file can then be converted to XHTML+MathML using a stylesheet. 132 | Several examples are provided in the “Extra files” package.

133 | 134 |

Hermes

135 | 136 |

Hermes is a grammar-based DVI-parser for translating LaTeX to 137 | Unicode-encoded XML+MathML. It works by first including a set of TeX 138 | macros in the original LaTeX document which insert specials in the DVI 139 | file. It then constructs XML output by parsing the semantic DVI file.

140 | 141 |

Some examples are provided here. In 142 | particular, there is a 143 | collection of articles from 144 | arxiv-math that were translated 145 | to XHTML+MathML.

146 | 147 |

Hermes is very complete in terms of functionality, but there are still 148 | a few glitches here and there, namely it has trouble handling spaces 149 | properly (see some of the examples). It also requires two steps just 150 | to get the XML file as you first have to create a “seed” LaTeX document 151 | (which essentially just adds a line \include dtx line which 152 | includes the extra macro definitions).

153 | 154 |

TeX4ht

155 | 156 |

TeX4ht, available in the Debian package tex4ht, is probably the 157 | most widely used LaTeX to (X)HTML tool. It supports conversion to 158 | HTML, XHTML+MathML, OpenDocument, and DocBook. Direct XHTML+MathML 159 | conversion is possible using a command like the following:

160 | 161 |
htlatex filename "xhtml,mathml" " -cunihtf" "-cvalidate"
162 | 
163 | 164 |

See the documentation for details about the available options.

165 | 166 |

The direct XHTML+MathML conversion looks very nice but the output 167 | didn’t seem very clean or semantic. It seems that it’s possible to 168 | heavily customize the output if you like, but the methods for doing so 169 | aren’t exactly obvious. I didn’t test its DocBook conversion, 170 | although this may also be a promising route.

171 | 172 |

LXir

173 | 174 |

LXir is another DVI-parsing LaTeX to XML translator. You must 175 | first include \RequirePackage{lxir} in your LaTeX document and 176 | run latex to obtain a DVI file. Then running lxir doc.dvi 177 | will produce an XML file that can be processed using xsltproc.

178 | 179 |

LXir looks promising but it still has some problems. It will fail 180 | if it encounters commands from any unsupported packages. Even after 181 | removing all external package dependencies from my document, LXir 182 | still failed to process the standard \author{foo \and bar} 183 | structure. Once I removed that, there were still errors in the 184 | generated MathML.

185 | 186 |

Overall LXir looks promising, and I think it’s a project worth keeping 187 | an eye on, but it doesn’t seem ready for production use (at least not 188 | for anything containing mathematics).

189 | 190 |

GELLMU

191 | 192 |

There is also an alternative markup language called GELLMU which 193 | supports XHTML+MathML, HTML, PDF, and DVI output. While it does meet 194 | most of my criteria, I’d rather be able to write real LaTeX, rather 195 | than pseudo-LaTeX. It’s certainly debatable but I consider LaTeX to 196 | be an archival format. At the very least an acceptable LaTeX-to-XML 197 | tool will eventually emerge. Clean LaTeX code is very structured and 198 | LaTeX is going to be with us for a very long time. Thus, it would 199 | simplify things if I were able to store my originals in LaTeX format.

200 | 201 |
202 | 203 |
204 | 205 | 212 | 213 |
214 | 215 | 226 | 227 | 228 | 229 | 230 | 231 | --------------------------------------------------------------------------------