1.0.7-test.0.0.0 • Published 3 years ago

xm v1.0.7-test.0.0.0

Weekly downloads
13
License
MIT
Repository
-
Last release
3 years ago

₪ xm - extensible HTML

xm is a tiny compiler for HTML that adds

  • <import> tag to inline external HTML files
  • <slot> and <fill> tags to define slots and fill them with content
  • <markdown> tag to portal into Markdown

xm CLI comes with a dev mode that compiles and serves built HTML.

Furthermore xm is built on top of posthtml-cli and therefore it is extensible.

Are you using xm? Share your site's URL here.

Install

npm i -g xm

Usage

Usage: xm <command> [options]

Commands:

  dev     Compiles HTML files on change and serves the root folder
  build   Compiles the HTML files once
  help    Displays help

Options:

  --root       Folder to compile (default ./)
  --output     Output (destination) folder. This is necessary only when using xm build
  --htmlOnly   Compile and copy only the built HTML files

<import> element

Allows to inline (import) HTML files into the current one.

<import src="file.html" />

Paths are relative.

<!-- src/folder/index.html -->

<import src="file.html" />
<!-- file.html -> src/folder/file.html -->

You can prefix paths with / to make them absolute i.e. relative to the --root value.

$ xm build --root ./src
# <import src="file.html" />
# -> ./src/file.html

Importing markdown files

xm supports importing .md (markdown) files too. When importing such files the front matter declarations are converted to fill elements.

<style>
  /* theme */
</style>
<import src="README.md" />

💡 This feature can be used to generate styled docs sites for your open source project!

If you create a reusable theme for README-like files we encourage you to use the following naming convention:

xm-theme-<theme-name>

Share your site or theme URL here.

<slot> and <fill> elements

HTML files can define slot elements with an attribute name. slots can be filled when importing HTML files using the fill tag.

<!-- base.html -->

<!DOCTYPE html>
<title><slot name="title"></slot></title>
<main>
  <slot name="main"></slot>
</main>

<!-- about.html -->

<import src="base.html">
  <fill name="title">About</fill>
  <fill name="main">
    <h1>About</h1>
    <p>welcome</p>
  </fill>
</import>
<footer>Unique to this page</footer>

<!-- about.html (compiled with xm) -->

<!DOCTYPE html>
<title>About</title>
<main>
  <h1>About</h1>
  <p>welcome</p>
</main>
<footer>Unique to this page</footer>

You can also define a special unnamed slot that will be filled with the import children that are not fill tags:

<!-- base.html -->

<slot></slot>
<footer><slot name="footer"></slot></footer>

<!-- about.html -->

<import src="base.html">
  <fill name="footer">good bye</fill>
  hello
  <p>friend</p>
</import>

<!-- about.html (compiled with xm) -->

hello
<p>friend</p>
<footer>good bye</footer>

Credits

  • Ivan Demidov for helping me out with PRs and PostHTML
  • askucher for transferring ownership of the xm package
1.0.7-test.0.0.0

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago

0.1.310

8 years ago

0.1.309

9 years ago

0.1.304

9 years ago

0.1.303

9 years ago

0.1.302

9 years ago

0.1.300

9 years ago

0.1.299

9 years ago

0.1.298

9 years ago

0.1.297

9 years ago

0.1.296

9 years ago

0.1.295

9 years ago

0.1.294

9 years ago

0.1.293

9 years ago

0.1.292

9 years ago

0.1.291

9 years ago

0.1.290

9 years ago

0.1.289

9 years ago

0.1.288

9 years ago

0.1.287

9 years ago

0.1.286

9 years ago

0.1.285

9 years ago

0.1.284

9 years ago

0.1.283

9 years ago

0.1.282

9 years ago

0.1.281

9 years ago

0.1.280

9 years ago

0.1.279

9 years ago

0.1.278

9 years ago

0.1.277

9 years ago

0.1.276

9 years ago

0.1.275

9 years ago

0.1.274

9 years ago

0.1.273

9 years ago

0.1.272

9 years ago

0.1.271

9 years ago

0.1.270

9 years ago

0.1.269

9 years ago

0.1.268

9 years ago

0.1.267

9 years ago

0.1.266

9 years ago

0.1.265

9 years ago

0.1.264

9 years ago

0.1.263

9 years ago

0.1.262

9 years ago

0.1.261

9 years ago

0.1.260

9 years ago

0.1.259

9 years ago

0.1.258

9 years ago

0.1.257

9 years ago

0.1.256

9 years ago

0.1.255

9 years ago

0.1.254

9 years ago

0.1.253

9 years ago

0.1.252

9 years ago

0.1.251

9 years ago

0.1.250

9 years ago

0.1.249

9 years ago

0.1.248

9 years ago

0.1.247

9 years ago

0.1.246

9 years ago

0.1.245

9 years ago

0.1.244

9 years ago

0.1.243

9 years ago

0.1.242

9 years ago

0.1.241

9 years ago

0.1.240

9 years ago

0.1.239

9 years ago

0.1.238

9 years ago

0.1.237

9 years ago

0.1.236

9 years ago

0.1.235

9 years ago

0.1.234

9 years ago

0.1.233

9 years ago

0.1.232

9 years ago

0.1.231

9 years ago

0.1.230

9 years ago

0.1.229

9 years ago

0.1.228

9 years ago

0.1.227

9 years ago

0.1.226

9 years ago

0.1.225

9 years ago

0.1.224

9 years ago

0.1.223

9 years ago

0.1.222

9 years ago

0.1.221

9 years ago

0.1.220

9 years ago

0.1.219

9 years ago

0.1.218

9 years ago

0.1.217

9 years ago

0.1.216

9 years ago

0.1.215

9 years ago

0.1.214

9 years ago

0.1.213

9 years ago

0.1.212

9 years ago

0.1.211

9 years ago

0.1.210

9 years ago

0.1.209

9 years ago

0.1.208

9 years ago

0.1.207

9 years ago

0.1.206

9 years ago

0.1.205

9 years ago

0.1.204

9 years ago

0.1.203

9 years ago

0.1.202

9 years ago

0.1.201

9 years ago

0.1.200

9 years ago

0.1.199

9 years ago

0.1.198

9 years ago

0.1.197

9 years ago

0.1.196

9 years ago

0.1.195

9 years ago

0.1.194

9 years ago

0.1.193

9 years ago

0.1.192

9 years ago

0.1.191

9 years ago

0.1.190

9 years ago

0.1.189

9 years ago

0.1.188

9 years ago

0.1.187

9 years ago

0.1.186

9 years ago

0.1.185

9 years ago

0.1.184

9 years ago

0.1.183

9 years ago

0.1.182

9 years ago

0.1.181

9 years ago

0.1.180

9 years ago

0.1.179

9 years ago

0.1.178

9 years ago

0.1.177

9 years ago

0.1.176

9 years ago

0.1.175

9 years ago

0.1.174

9 years ago

0.1.173

9 years ago

0.1.172

9 years ago

0.1.171

9 years ago

0.1.170

9 years ago

0.1.169

9 years ago

0.1.168

9 years ago

0.1.167

9 years ago

0.1.166

9 years ago

0.1.165

9 years ago

0.1.164

9 years ago

0.1.163

9 years ago

0.1.162

9 years ago

0.1.161

9 years ago

0.1.160

9 years ago

0.1.159

9 years ago

0.1.158

9 years ago

0.1.157

9 years ago

0.1.156

9 years ago

0.1.155

9 years ago

0.1.154

9 years ago

0.1.153

9 years ago

0.1.152

9 years ago

0.1.151

9 years ago

0.1.150

9 years ago

0.1.149

9 years ago

0.1.148

9 years ago

0.1.147

9 years ago

0.1.146

9 years ago

0.1.145

9 years ago

0.1.144

9 years ago

0.1.143

9 years ago

0.1.142

9 years ago

0.1.141

9 years ago

0.1.140

9 years ago

0.1.139

9 years ago

0.1.138

9 years ago

0.1.137

9 years ago

0.1.136

9 years ago

0.1.135

9 years ago

0.1.134

9 years ago

0.1.133

9 years ago

0.1.132

9 years ago

0.1.131

9 years ago

0.1.130

9 years ago

0.1.129

9 years ago

0.1.128

9 years ago

0.1.127

9 years ago

0.1.126

9 years ago

0.1.125

9 years ago

0.1.124

9 years ago

0.1.123

9 years ago

0.1.122

9 years ago

0.1.121

9 years ago

0.1.120

9 years ago

0.1.119

9 years ago

0.1.118

9 years ago

0.1.117

9 years ago

0.1.116

9 years ago

0.1.115

9 years ago

0.1.114

9 years ago

0.1.113

9 years ago

0.1.112

9 years ago

0.1.111

9 years ago

0.1.110

9 years ago

0.1.109

9 years ago

0.1.108

9 years ago

0.1.107

9 years ago

0.1.106

9 years ago

0.1.105

9 years ago

0.1.104

9 years ago

0.1.103

9 years ago

0.1.102

9 years ago

0.1.101

9 years ago

0.1.100

9 years ago

0.1.99

9 years ago

0.1.98

9 years ago

0.1.97

9 years ago

0.1.96

9 years ago

0.1.95

9 years ago

0.1.94

9 years ago

0.1.93

9 years ago

0.1.92

9 years ago

0.1.91

9 years ago

0.1.90

9 years ago

0.1.89

9 years ago

0.1.88

9 years ago

0.1.87

9 years ago

0.1.86

9 years ago

0.1.85

9 years ago

0.1.84

9 years ago

0.1.83

9 years ago

0.1.82

9 years ago

0.1.81

9 years ago

0.1.80

9 years ago

0.1.79

9 years ago

0.1.78

9 years ago

0.1.77

9 years ago

0.1.76

9 years ago

0.1.75

9 years ago

0.1.74

9 years ago

0.1.73

9 years ago

0.1.72

9 years ago

0.1.71

9 years ago

0.1.70

9 years ago

0.1.69

9 years ago

0.1.68

9 years ago

0.1.67

9 years ago

0.1.66

9 years ago

0.1.65

9 years ago

0.1.64

9 years ago

0.1.63

9 years ago

0.1.62

9 years ago

0.1.61

9 years ago

0.1.60

9 years ago

0.1.59

9 years ago

0.1.58

9 years ago

0.1.57

9 years ago

0.1.56

9 years ago

0.1.55

9 years ago

0.1.54

9 years ago

0.1.53

9 years ago

0.1.52

9 years ago

0.1.51

9 years ago

0.1.50

9 years ago

0.1.49

9 years ago

0.1.48

9 years ago

0.1.47

9 years ago

0.1.46

9 years ago

0.1.45

9 years ago

0.1.44

9 years ago

0.1.43

9 years ago

0.1.42

9 years ago

0.1.41

9 years ago

0.1.40

9 years ago

0.1.39

9 years ago

0.1.38

9 years ago

0.1.37

9 years ago

0.1.36

9 years ago

0.1.35

9 years ago

0.1.34

9 years ago

0.1.33

9 years ago

0.1.32

9 years ago

0.1.31

9 years ago

0.1.30

9 years ago

0.1.29

9 years ago

0.1.28

9 years ago

0.1.27

9 years ago

0.1.26

9 years ago

0.1.25

9 years ago

0.1.24

9 years ago

0.1.23

9 years ago

0.1.22

9 years ago

0.1.21

9 years ago

0.1.20

9 years ago

0.1.19

9 years ago

0.1.18

9 years ago

0.1.17

9 years ago

0.1.16

9 years ago

0.1.15

9 years ago

0.1.14

9 years ago

0.1.13

9 years ago

0.1.12

9 years ago

0.1.11

9 years ago

0.1.10

9 years ago

0.1.9

9 years ago

0.1.8

9 years ago

0.1.7

9 years ago

0.1.6

9 years ago

0.1.5

9 years ago