(c) globeimages.net

Viết. Xây. Phát hành.

alezaa.com/writer

phuongcsa
My life in motion
Published in
5 min readJul 9, 2013

--

Viết

Writer là nơi tập trung để viết, biên tập ấn bản sách điện tử chuyên nghiệp định dạng epub.

Writer đáp ứng biên tập với nhiều kiểu nội dung và mức độ ứng dụng khác nhau từ sách truyện, sách giáo khoa, bài giảng, giáo trình, sách hướng dẫn, truyện tranh, truyện kèm audio và tương tác.

Trong quá trình viết, tác giả có thể thực hiện kiểm thử trên web hoặc Alezaa app (iOS & Android) hay có thể tải về và xem trên các ứng dụng đọc epub.

Markdown

Keep your hands on the keyboard
and your mind in the text. - iAWriter

Chúng tôi đã dành nhiều thời gian để xây dựng và phát triển công cụ viết, biên tập cho sách điện tử tiêu chuẩn epub. Bộ phận số hoá của chúng tôi đã rất vất vả và kiên nhẫn để biên tập ra những ấn bản điện tử đẹp, theo chuẩn epub. Thật khó khăn khi biên tập viên phải vật lộn với những đoạn mã lộn xộn bố trí đan xen giữa nội dung. Chúng tôi đã thực sự lúng túng khi nghĩ đến việc kế thừa và mở rộng về sau.

Thật may mắn, chúng tôi đã tìm thấy Markdown.

Markdown is a lightweight markup language, originally created by John Gruber with substantial contributions from Aaron Swartz, allowing people “to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML (or HTML)”(1)

Triết lý của Markdown là giúp người viết tập trung tuyệt đối vào con chữ, việc cài đặt các định dạng trình bày được thực hiện bởi các quy ước đơn giản. Ví dụ để cho một dòng thành tiêu đề, người viết gán # vào trước dòng đó. Kết quả là, ấn bản rất dễ để đọc hiểu và chỉnh sửa.

Tuy nhiên, ấn bản thành phẩm cần nhiều hơn thế, sự giới hạn của Markdown chuẩn đã không giúp giới xuất bản chuyên nghiệp lựa chọn vì họ không thể thực hiện các trình bày phức tạp hơn. Nếu muốn họ phải xuất markdown ra html rồi làm việc trên html đó, cách này quả thật rất tệ, vì không thể quay lại biên tập bằng markdown được nữa.

Đứng trước thách thức đó, một số giải pháp được đưa ra, cách thứ nhất là mở rộng tập cú pháp của Markdown tương tự với tập thẻ html. Đó là một giải pháp tệ hại khi biến markdown thành một bản sao của html với hàng tá thẻ gắn trong nội dung. Giải pháp thứ 2 là cho phép nhúng trực tiếp mã html vào trong markdown ở những nơi markdown không thể đáp ứng được. Giờ thì nó còn tệ hơn nữa khi bạn phải chứng kiến cảnh lòng ghép lộn xộn giữa markdown và thẻ html. Chúng tôi rất buồn :(, tưởng chừng như bế tắc, liệu chúng tôi có nên tiếp tục với Markdown nữa không?

Thật may mắn, chúng tôi đã tìm ra giải pháp để giữ triết lý của Markdown và tăng sức mạnh từ html. Chúng tôi gọi đó là A+

Markdown A+

Nguyên tắc đầu tiên của A+ đó là giữ nguyên toàn bộ cú pháp của Markdown, chúng tôi không bổ sung thêm cú pháp mới. Vậy A+ làm thêm việc gì?

Chúng tôi làm cho Markdown hiển rõ hơn các dữ liệu bên trong nó. Một khả năng mở rộng lớn và có ý nghĩa lớn nhất trong việc trình bày đó là cho phép Markdown hiểu được các lớp (class) trong file css. Đây thực sự là một thách thức và chúng tôi đã may mắn tìm ra giải pháp để kết nối tham chiếu (ref) của Markdown với lớp (class) trong css file.

Việc đó thực hiện như thế nào?
Cú pháp tham chiếu của Markdown gồm có 3 thành phần:
[ref_id]: url “description”

  • ref_id là tên tham chiếu
  • url là đường dẫn đến file tài nguyên
  • description là mô tả cho tham chiếu

Ví dụ: Tạo tham chiếu liên kết:
[Click here][link1]
[link1] http://alezaa.com “Nhấn vào đây để đến Alezaa”
Trong ví dụ này markdown sẽ tạo ra liên kết cho dòng “Click here” dẫn đến alezaa.com, và có mô tả là “Nhấn vào đây để đến Alezaa”
Câu hỏi đặt ra là muốn thêm định dạng cho liên kết này thì là sao? Ví dụ muốn gạch dưới và cho thành màu xanh lá cây.
A+ sẽ giải quyết vấn đề đó theo cách sau:
[link1] http://alezaa.com “Nhấn vào đây để đến Alezaa .bold .green”
trong đó .bold .green là tên lớp (class) được định nghĩa trong file css.
A+ hỗ trợ sẵn các file css tiêu chuẩn cho việc trình bày các kiểu sách khác nhau. Người viết có thể tải file css về và chỉnh sửa lại rồi cập nhật.

Các kiểu tham chiếu trong A+
1. Liên kết kèm chú thích
[ref_id]: url “.class1…”
Mở liên kết với địa chỉ url
2. Chú thích
[ref_id]: note: “Nội dung chú thích .class1…”
3. Đặt định dạng cho đoạn văn bản
[ref_id]: class: “.class1.class2…”
4. Hình ảnh
![Tên hình][ref_id]
[ref_id] url “Mô tả hình ảnh .class1…”
[ref_id] url “Mô tả hình ảnh .class1… with-audio:../Misc/filename.mp3"

Đến đây bạn có thể hình dung ra cách A+ làm việc, về cơ bản đây là việc kết nối tham chiếu (ref) của markdown với các lớp (class) được định nghĩa trong file css. Việc này đã giúp tách nội dung và mô tả trình bày ra hoàn toàn. Các mô tả trình bày sẽ đặt trong tham chiếu (ref) ở dưới trang, tương tự như như footnotes, references của các báo cáo. Việc này không chỉ giúp nội dung trình bày rõ ràng hơn mà còn có thể kế thừa bằng cách sao chép mô tả trình bày cho chương khác.

A+ so với các ứng dụng biên tập epub khác

Tại Alezaa, trước đây chúng tôi đã áp dụng cách thức biên tập qua công cụ trực quan kết hợp với chỉnh mã html là Sigil. Khi bắt đầu dùng thí điểm A+, hiệu suất đã tăng lên 3 lần, thời gian tiếp xúc và học cách làm mới chỉ trong vòng 2 giờ, trước đây chúng tôi phải mất cả tuần để đào tạo một nhân sự số hoá trên Sigil.

A+ mới chỉ là điểm khởi đầu

Để A+ trở thành một công cụ hữu dụng và phổ biến cho tác giả và biên tập viên sử dụng hiệu quả trong việc xuất bản sách điện tử theo chuẩn epub. Còn nhiều việc phải làm để A+ trở thành một tiêu chuẩn phổ biến, chúng tôi cần sự giúp đỡ của các bạn.

Ứng dụng Writer A+ phiên bản đầu tiên

Phiên bản chính thức 1.0 sẽ phát hành vào 15/8/2013. Chúng tôi rất hoan ngênh và chào đón các bạn trong nhiều lĩnh vực khác nhau, từ giáo viên, kỹ sư, bác sĩ, nhà văn sử dụng A+ để viết, biên tập những cuốn sách hay, chuyên nghiệp và phát hành ra khắp thế giới.

Ngay bây giờ, bạn có thể dùng thử Writer A+ tại http://alezaa.com/writer

Chúng tôi rất mong đón nhận được góp ý từ bạn về địa chỉ writer@vinapo.com

Xin chân thành cám ơn bạn đã quan tâm.

Trần Phương

Vinapo Inc.

PS: Bài viết này được viết trên alezaa.com/writer và xuất qua medium.com mà không cần chỉnh sửa gì :)

--

--