1.0.7-test.0.0.0 • Published 5 years ago

xm v1.0.7-test.0.0.0

Weekly downloads
13
License
MIT
Repository
-
Last release
5 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

5 years ago

1.0.7

5 years ago

1.0.6

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago

0.1.310

10 years ago

0.1.309

10 years ago

0.1.304

10 years ago

0.1.303

11 years ago

0.1.302

11 years ago

0.1.300

11 years ago

0.1.299

11 years ago

0.1.298

11 years ago

0.1.297

11 years ago

0.1.296

11 years ago

0.1.295

11 years ago

0.1.294

11 years ago

0.1.293

11 years ago

0.1.292

11 years ago

0.1.291

11 years ago

0.1.290

11 years ago

0.1.289

11 years ago

0.1.288

11 years ago

0.1.287

11 years ago

0.1.286

11 years ago

0.1.285

11 years ago

0.1.284

11 years ago

0.1.283

11 years ago

0.1.282

11 years ago

0.1.281

11 years ago

0.1.280

11 years ago

0.1.279

11 years ago

0.1.278

11 years ago

0.1.277

11 years ago

0.1.276

11 years ago

0.1.275

11 years ago

0.1.274

11 years ago

0.1.273

11 years ago

0.1.272

11 years ago

0.1.271

11 years ago

0.1.270

11 years ago

0.1.269

11 years ago

0.1.268

11 years ago

0.1.267

11 years ago

0.1.266

11 years ago

0.1.265

11 years ago

0.1.264

11 years ago

0.1.263

11 years ago

0.1.262

11 years ago

0.1.261

11 years ago

0.1.260

11 years ago

0.1.259

11 years ago

0.1.258

11 years ago

0.1.257

11 years ago

0.1.256

11 years ago

0.1.255

11 years ago

0.1.254

11 years ago

0.1.253

11 years ago

0.1.252

11 years ago

0.1.251

11 years ago

0.1.250

11 years ago

0.1.249

11 years ago

0.1.248

11 years ago

0.1.247

11 years ago

0.1.246

11 years ago

0.1.245

11 years ago

0.1.244

11 years ago

0.1.243

11 years ago

0.1.242

11 years ago

0.1.241

11 years ago

0.1.240

11 years ago

0.1.239

11 years ago

0.1.238

11 years ago

0.1.237

11 years ago

0.1.236

11 years ago

0.1.235

11 years ago

0.1.234

11 years ago

0.1.233

11 years ago

0.1.232

11 years ago

0.1.231

11 years ago

0.1.230

11 years ago

0.1.229

11 years ago

0.1.228

11 years ago

0.1.227

11 years ago

0.1.226

11 years ago

0.1.225

11 years ago

0.1.224

11 years ago

0.1.223

11 years ago

0.1.222

11 years ago

0.1.221

11 years ago

0.1.220

11 years ago

0.1.219

11 years ago

0.1.218

11 years ago

0.1.217

11 years ago

0.1.216

11 years ago

0.1.215

11 years ago

0.1.214

11 years ago

0.1.213

11 years ago

0.1.212

11 years ago

0.1.211

11 years ago

0.1.210

11 years ago

0.1.209

11 years ago

0.1.208

11 years ago

0.1.207

11 years ago

0.1.206

11 years ago

0.1.205

11 years ago

0.1.204

11 years ago

0.1.203

11 years ago

0.1.202

11 years ago

0.1.201

11 years ago

0.1.200

11 years ago

0.1.199

11 years ago

0.1.198

11 years ago

0.1.197

11 years ago

0.1.196

11 years ago

0.1.195

11 years ago

0.1.194

11 years ago

0.1.193

11 years ago

0.1.192

11 years ago

0.1.191

11 years ago

0.1.190

11 years ago

0.1.189

11 years ago

0.1.188

11 years ago

0.1.187

11 years ago

0.1.186

11 years ago

0.1.185

11 years ago

0.1.184

11 years ago

0.1.183

11 years ago

0.1.182

11 years ago

0.1.181

11 years ago

0.1.180

11 years ago

0.1.179

11 years ago

0.1.178

11 years ago

0.1.177

11 years ago

0.1.176

11 years ago

0.1.175

11 years ago

0.1.174

11 years ago

0.1.173

11 years ago

0.1.172

11 years ago

0.1.171

11 years ago

0.1.170

11 years ago

0.1.169

11 years ago

0.1.168

11 years ago

0.1.167

11 years ago

0.1.166

11 years ago

0.1.165

11 years ago

0.1.164

11 years ago

0.1.163

11 years ago

0.1.162

11 years ago

0.1.161

11 years ago

0.1.160

11 years ago

0.1.159

11 years ago

0.1.158

11 years ago

0.1.157

11 years ago

0.1.156

11 years ago

0.1.155

11 years ago

0.1.154

11 years ago

0.1.153

11 years ago

0.1.152

11 years ago

0.1.151

11 years ago

0.1.150

11 years ago

0.1.149

11 years ago

0.1.148

11 years ago

0.1.147

11 years ago

0.1.146

11 years ago

0.1.145

11 years ago

0.1.144

11 years ago

0.1.143

11 years ago

0.1.142

11 years ago

0.1.141

11 years ago

0.1.140

11 years ago

0.1.139

11 years ago

0.1.138

11 years ago

0.1.137

11 years ago

0.1.136

11 years ago

0.1.135

11 years ago

0.1.134

11 years ago

0.1.133

11 years ago

0.1.132

11 years ago

0.1.131

11 years ago

0.1.130

11 years ago

0.1.129

11 years ago

0.1.128

11 years ago

0.1.127

11 years ago

0.1.126

11 years ago

0.1.125

11 years ago

0.1.124

11 years ago

0.1.123

11 years ago

0.1.122

11 years ago

0.1.121

11 years ago

0.1.120

11 years ago

0.1.119

11 years ago

0.1.118

11 years ago

0.1.117

11 years ago

0.1.116

11 years ago

0.1.115

11 years ago

0.1.114

11 years ago

0.1.113

11 years ago

0.1.112

11 years ago

0.1.111

11 years ago

0.1.110

11 years ago

0.1.109

11 years ago

0.1.108

11 years ago

0.1.107

11 years ago

0.1.106

11 years ago

0.1.105

11 years ago

0.1.104

11 years ago

0.1.103

11 years ago

0.1.102

11 years ago

0.1.101

11 years ago

0.1.100

11 years ago

0.1.99

11 years ago

0.1.98

11 years ago

0.1.97

11 years ago

0.1.96

11 years ago

0.1.95

11 years ago

0.1.94

11 years ago

0.1.93

11 years ago

0.1.92

11 years ago

0.1.91

11 years ago

0.1.90

11 years ago

0.1.89

11 years ago

0.1.88

11 years ago

0.1.87

11 years ago

0.1.86

11 years ago

0.1.85

11 years ago

0.1.84

11 years ago

0.1.83

11 years ago

0.1.82

11 years ago

0.1.81

11 years ago

0.1.80

11 years ago

0.1.79

11 years ago

0.1.78

11 years ago

0.1.77

11 years ago

0.1.76

11 years ago

0.1.75

11 years ago

0.1.74

11 years ago

0.1.73

11 years ago

0.1.72

11 years ago

0.1.71

11 years ago

0.1.70

11 years ago

0.1.69

11 years ago

0.1.68

11 years ago

0.1.67

11 years ago

0.1.66

11 years ago

0.1.65

11 years ago

0.1.64

11 years ago

0.1.63

11 years ago

0.1.62

11 years ago

0.1.61

11 years ago

0.1.60

11 years ago

0.1.59

11 years ago

0.1.58

11 years ago

0.1.57

11 years ago

0.1.56

11 years ago

0.1.55

11 years ago

0.1.54

11 years ago

0.1.53

11 years ago

0.1.52

11 years ago

0.1.51

11 years ago

0.1.50

11 years ago

0.1.49

11 years ago

0.1.48

11 years ago

0.1.47

11 years ago

0.1.46

11 years ago

0.1.45

11 years ago

0.1.44

11 years ago

0.1.43

11 years ago

0.1.42

11 years ago

0.1.41

11 years ago

0.1.40

11 years ago

0.1.39

11 years ago

0.1.38

11 years ago

0.1.37

11 years ago

0.1.36

11 years ago

0.1.35

11 years ago

0.1.34

11 years ago

0.1.33

11 years ago

0.1.32

11 years ago

0.1.31

11 years ago

0.1.30

11 years ago

0.1.29

11 years ago

0.1.28

11 years ago

0.1.27

11 years ago

0.1.26

11 years ago

0.1.25

11 years ago

0.1.24

11 years ago

0.1.23

11 years ago

0.1.22

11 years ago

0.1.21

11 years ago

0.1.20

11 years ago

0.1.19

11 years ago

0.1.18

11 years ago

0.1.17

11 years ago

0.1.16

11 years ago

0.1.15

11 years ago

0.1.14

11 years ago

0.1.13

11 years ago

0.1.12

11 years ago

0.1.11

11 years ago

0.1.10

11 years ago

0.1.9

11 years ago

0.1.8

11 years ago

0.1.7

11 years ago

0.1.6

11 years ago

0.1.5

11 years ago