- magick.css adalah framework CSS yang hampir tanpa class dan disediakan sebagai satu file, dengan gaya dokumen web yang diarahkan seperti “catatan penyihir” yang mudah dibaca dan menyampaikan informasi dengan baik
- Berfungsi di semua ukuran layar dan bisa digunakan tanpa JavaScript, sehingga mudah diterapkan langsung pada dokumen statis atau halaman HTML ringan
- Dapat dipasang melalui CDN, penyertaan file langsung, atau import npm, dan juga menjelaskan konfigurasi penggunaan bersama
normalize.css
- Struktur dasarnya adalah kolom yang mudah dibaca dengan fokus pada
dan, dan penjelasan tambahan di samping isi dapat ditempelkan dengan `` dan sidenote
- Sebagian besar elemen dasar HTML diberi gaya, tetapi fitur yang memerlukan struktur seperti sidenote dan nomor baris kode disediakan sebagai class terpisah
Tujuan dan karakter magick.css
- magick.css adalah framework CSS yang minimalis dan sebagian besar tanpa class
- Seluruhnya dimuat dalam satu file, dan alasan di balik setiap pilihan dapat diikuti melalui komentar di dalam CSS
- Secara visual, framework ini menciptakan suasana magis yang elegan namun tetap jenaka, dengan prioritas pada kemudahan baca dan kekuatan penyampaian informasi
- Menjaga tampilan dan fungsi di semua perangkat dan ukuran layar, serta berjalan tanpa JavaScript
- Terinspirasi oleh LaTeX, buku aturan TTRPG lama, concrete.css, Tufte CSS, dan etos brutalisme “usability as design”
Instalasi dan cara penggunaan
- Untuk mencoba paling cepat, tambahkan 2 stylesheet CDN ke HTML ``
- Anda juga bisa mengunduh file
magick.css dari repositori dan menyertakannya seperti CSS biasa
- Dalam proyek JavaScript, pasang dengan npm lalu import
npm install normalize.css magick.css
import 'normalize.css'
import 'magick.css'
- Konfigurasinya 99% tanpa class, sehingga dibuat agar mudah diterapkan juga pada dokumen HTML5 yang sudah ada
Tata letak berfokus pada pembacaan
- Untuk membuat kolom responsif, disarankan membungkus seluruh konten dengan
dan membagi teks panjang menggunakan
- Struktur dokumen yang umum adalah menempatkan
, beberapa , dan di dalam
- Bahkan tanpa mengikuti struktur ini, magick.css tetap bisa dipakai hanya untuk tipografi dan komponen yang sudah diberi gaya
- Informasi tambahan dinyatakan dengan tag ``
- Jika ingin menambahkan konteks ekstra di tengah isi, gunakan sidenote, dan penomorannya akan dibuat otomatis
Gaya elemen HTML dasar
- Tipografi mencakup judul, paragraf, tautan, penekanan, garis bawah, teks kecil, kode inline, dan lainnya
- Heading yang lebih rendah dari `` tidak diberi gaya oleh magick.css
- Heading tingkat rendah dianggap lebih sering dipakai untuk tujuan khusus daripada untuk hierarki struktur
- Jika perlu, pengguna dapat memberi gaya sendiri
- Daftar dibuat tetap sederhana agar tidak mengganggu isi
- daftar tak berurutan
- daftar berurutan
- daftar deskripsi
- Tabel memakai gaya yang jelas dan ringkas agar fokus tetap pada data
- Form dan elemen input dapat digunakan sendiri atau di dalam form
- Input teks tidak diberi batasan kuat pada ukuran atau tata letak karena kegunaannya sangat beragam
- Label untuk checkbox dan radio button diharapkan muncul setelah input
- Form diberi gaya seperti catatan kertas tulisan tangan untuk menarik perhatian pengguna
Media, kode, dan kutipan
- Gambar dan video dapat ditempatkan sendiri atau dimasukkan ke dalam `` untuk ditampilkan bersama caption
- `` yang berdiri sendiri akan ditampilkan pada ukuran alaminya saat ruang mencukupi, tanpa diperbesar atau didistorsi
- Dengan menggunakan
dan, media dapat ditampilkan lebih menonjol sambil menambahkan konteks
- Untuk kode inline gunakan
, dan untuk blok kode besar gunakan struktur yang membungkus ``
- Potongan kode juga dapat ditampilkan sebagai figure
- Kutipan menggunakan ``
- Penyebutan sumber ditambahkan dengan `` di dalam blockquote
- Teks yang formatnya penting, seperti puisi, dapat dibungkus dengan ``
Fitur yang digunakan dengan class terpisah
- Beberapa fitur memerlukan class khusus sehingga dipisahkan dari perilaku inti magick.css yang tanpa class
- Untuk menambahkan sidenote ke dalam isi, tambahkan posisi referensi dan isi sidenote bersama-sama
Sidenote Content.
- Di perangkat seluler, sidenote akan dipindahkan ke dalam kolom utama
- Untuk menampilkan nomor baris pada blok kode atau pre, Anda perlu menyisipkan `` yang berisi setiap nomor baris
- Penyisipan nomor baris bisa dilakukan secara manual, dengan JavaScript, atau melalui pemrosesan sisi server sesuai kebutuhan
Tautan proyek
- Jika Anda menyukainya, Anda bisa memberi star di GitHub
- Jika tertarik pada karya lainnya, Anda bisa bergabung ke Discord
1 komentar
Pendapat di Hacker News
Saya suka bagaimana font tulisan tangan di area input berpadu dengan serif yang organik, juga perhatian detail pada tinggi baris dan ketebalan yang seimbang
Kode untuk yang berminat: https://github.com/wintermute-cell/magick.css/blob/master/ma...
Akan bagus kalau ada checkbox dan radio button kustom juga. Saat ini hanya dua elemen itu yang merusak imersi, sementara sisanya benar-benar bagus. Mungkin ini akhirnya membuat saya membangun blog yang sudah lama saya pikirkan
Saking cocoknya, hampir tidak terasa disadari
Perhatikan bahwa tag penutupnya header, bukan main
Saya ingin cepat melihat seperti apa bentuknya, tetapi harus melewati beberapa langkah lagi untuk melihat sumber aslinya. Setidaknya akan bagus jika ada tautan yang bisa diklik langsung ke bentuk yang belum diproses
Entah kenapa, nuansa seperti itu benar-benar menarik
Ditambah tampilan super minimal yang hampir hanya HTML seperti situs web para profesor universitas dulu juga terlihat keren
Saya berharap blog pribadi lebih populer
Setidaknya dalam tulisan saya, baik tulisan teknis maupun bukan, gambar dan teks membentuk satu narasi berkelanjutan. Mengatur ulang gambar dan memindahkannya ke tempat lain sama tidak masuk akalnya dengan melakukan hal itu pada paragraf
Sebenarnya lebih baik tidak menulis apa pun seluruhnya dengan huruf kapital. Itu cara penekanan dari era mesin tik, seperti garis bawah, karena saat itu hanya bisa memakai satu font
Bentuk huruf kapital terlalu mirip satu sama lain. Tidak ada variasi tinggi huruf, sehingga mata lebih sulit membaca. Jika huruf besar dan kecil dicampur, ada huruf yang turun ke bawah seperti y, p, j dan yang naik ke atas seperti b, d, t, sehingga muncul variasi dan lebih mudah dikenali
Untuk penekanan, lebih baik gunakan ukuran, ketebalan, atau italic
Namun berkat itu, muncul gaya yang unik
Meski begitu, rasanya saya tetap menyukainya
Framework serbaguna yang sangat bagus mudah ditemukan, tetapi jauh lebih sulit jika ingin sesuatu dengan cita rasa yang jelas
https://www.mcsweeneys.net/articles/im-comic-sans-asshole
Terutama ketika ketebalan yang rendah berpadu dengan tema gelap, teks jadi cukup tidak nyaman dibaca
Alih-alih menanganinya dengan akal sehat, Google akhirnya melakukan riset pengguna terhadap 800 orang dan sampai pada kesimpulan bahwa “kolom input teks harus terlihat seperti kolom input teks”: https://medium.com/google-design/the-evolution-of-material-d...
Dulu saya pernah membuat satu, meski mungkin tidak sebagus ini: https://elementcss.neocities.org