Note
This repository is no longer updated.
This markup language was designed out of my need for writing high-quality printable research papers fast and easily.
I might, in the future, unarchive this repository because it is honestly something I use and need.
The reasons I archived it are:
- I faced really big challenges and dependencies I didn't know how to overcome. I had to somehow remove PrinceXML and Markdown Preview Enhanced at once, plus design a proper parser (like Mathsys).
- My interest moved to Abscissa and I couldn't take both projects at the same time.
Since CSScribe is a tool I still use to date (five months after latest release), I expect to come back to it in the future. I'll add a parser, rename it (not feeling like marketing CSS to be honest) and integrate it with Abscissa.
In the ~6 months I had been developing CSScribe, I indeed learnt a lot:
- LESS.
- A basic introduction to JS.
- Refreshed my HTML + CSS knowledge.
- How not to make a parser: plain-simple regex matching.
- How to write comments in programming so that everything is organised.
- That people won't try your thing if the installation is slightly difficult.
- That people mess up with syntax all the time.
- That shipping > developing endlessly.
- That dependencies make things easier short-term, but can get you stucked with issues that demand a stack change to be solved.
- That people don't care about your source code. If they find a Python error trace they'll just quit, they aren't developers.
- That 600-line files aren't readable.
- That developing takes a bunch of time. And if you aren't productive you spend more hours which makes you depressed, so you better be productive.
I think that's all.
If someone else wants to continue the development of the project, just email me so you can contribute.
This markup language is designed to be simple, yet powerful. It allows you to create beautiful research papers and projects with ease.
-
Visual Studio Code.
-
Markdown Preview Enhanced.
-
PrinceXML.
-
Windows 10.
-
Windows 11.
-
Linux distributions (not supported).
-
Install Visual Studio Code.
-
Install CSScribe
-
Install PrinceXML. Download the latest version of PrinceXML.
-
Go to the folder
C:\Program Files (x86)\Prince\engine\binand change the name of the fileprince.exetopricexml.exe(you might want to keep the original file). -
Add
C:\Program Files (x86)\Prince\engine\binto PATH via system environment variables. -
You're all done!
Now that you have everything installed, you can start using CSScribe. The first step to open an empty folder and create a .cssc file.
Now you can start writing something. Try writing something like:
/h2 Hello world!
---
You'll see that the whole line is colored orange. The /h2 modifier is transformed into a medium header once the code is compiled.
Since this is a markup language, everything you write is converted into text, unless so-called commands. This link will teach you all possible commands, learn them to exploit all the features of CSScribe.
Once you have the file ready, the first thing you have to do is to compile the .cssc. Compiling is really easy: execute CSScribe** Run Compiler from the command palette. Shortly after (quite literally, milliseconds), a .md file with the same name as the original file will appear.
To transform that file to a pretty, print-friendly file, you will have to open the .md file inside VSC. Then press Ctrl + Shift + V simultaneously to open the file in the Markdown Preview Enhanced extension.
A
.crossnotefolder will appear the moment you run the compiler. This is made so that Markdown Preview Enhanced extension picks up thestyle.lessfile and applies it to your document. Inside the.lessfile you'll also see at the top variables you can modify, feel free to modify them but you might not want to dive deep into the300lines of code I barely understand (with a lot of!importantlines because PrinceXML doesn't always like margins).
For larger projects, you might want to use a custom environment which will help you organize your project. The CSScribe** Run Builder utility will do so automatically. This feature will create some structure in your directory.
-
Versioning System:
CSScribe** Run Versioning Systemuses a random algorithm to determine the next version of your project. -
JPG2PNG:
CSScribe** Run JPG2PNGwill convert all.jpgor.jpegfiles into.png.
This project is licensed under the MIT License - see the LICENSE file for details.
You're allowed to use the program code to write anything, without the need to mention me or CSScribe (but I'll appreciate it a lot).
Thanks to the PrinceXML team and Yiyi Wang for the amazing software.