Full Code of Squarespace/base-template for AI

master 5145bdf40f2e cached
15 files
24.8 KB
6.5k tokens
1 symbols
1 requests
Download .txt
Repository: Squarespace/base-template
Branch: master
Commit: 5145bdf40f2e
Files: 15
Total size: 24.8 KB

Directory structure:
gitextract_ols805y4/

├── .gitignore
├── blocks/
│   ├── README.md
│   └── site-navigation.block
├── collections/
│   ├── README.md
│   ├── blog.conf
│   ├── blog.item
│   └── blog.list
├── readme.md
├── scripts/
│   ├── README.md
│   └── site.js
├── site.region
├── styles/
│   ├── README.md
│   ├── base.less
│   └── reset.css
└── template.conf

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitignore
================================================
sftp-config.json


================================================
FILE: blocks/README.md
================================================
Template Partials
-----------------

The `/blocks/` folder contains template partials. Partials allow you to reuse code inside your template, instead of having redundant code scattered throughout your files. This can make your template easier to maintain.

### Creating a Partial

To create a partial add a `.block` file to your `/blocks/` folder. This file can contain any kind of code used in template files, most commonly HTML and JSON-T.

To use a partial in a template add a JSON-T formatter with the block file name inside the tag, like the code example below demonstrates.

    {@|apply some-block.block}

### When Should I Use Partials?

Think of partials like classes in CSS. A class is typically something that is reused across your site; classes are also broad and can be used in analogous contexts. If you will use a piece of code in your template more than once in a similar setting you may want to consider making it a partial.

### Partials and Site-Navigation

Certain Squarespace tags expect a `.block` file to provide the JSON-T for rendering that tag. (For example, the navigation tag.) To provide a partial for your site navigation, create a `.block` file here, (like `nav.block`) and then put a navigation tag in your `.region` file:

    <squarespace:navigation navigationId="siteNav" template="nav" />


### Further reading

See the squarespace docs on [Template Partials](https://developers.squarespace.com/template-partials/).


================================================
FILE: blocks/site-navigation.block
================================================
<nav class="site-navigation">
  <ul class="site-navigation-list">
    {.repeated section items}

      <li class="site-navigation-item {.section active} active-link{.end}">

        <!-- collection link -->
        {.section collection}
          <a href="{fullUrl}">{navigationTitle}</a>
        {.end}

        <!-- external link -->
        {.section externalLink}
          <a href="{url}"{.section newWindow} target="_blank"{.end}>
            {title}
          </a>
        {.end}

      </li>

    {.end}
  </ul>
</nav>


================================================
FILE: collections/README.md
================================================
Collections
-----------

This folder contains collection definitions. Collections allow you to group together a set of pages, like a gallery, blog or album. Collections are JSON-T templates that determine how data on your site is rendered. Each collection should have a configuration file (`.conf`) and a `.item` and/or `.list` file.

### Collection Configuration (collection.conf)

Contains the configuration settings for a collection. There is one configuration file for each collection.

    {
      "title" : "Blog",
      "ordering" : "chronological",
      "addText" : "Add Post",
      "acceptTypes" : [ "text" ]
    }

#### Configuration Options

- **title**: The name of the collection as it will appear in the "Add New Page" dialog.
- **ordering**: The method of ordering for the collection. Available options: chronological, user-orderable, calendar.
- **addText**: Specifies the text used in the "add" button in the Squarespace interface. It is also used in empty collection message when a collection does not contain any items.
- **acceptTypes**: Specifies the post types allowed in this collection. Available: text, image, video.

### Collection List Views (collection.list)

This is the default view of every collection and shows all posts in that collection. For example, `blog.list` templates a list of blog posts.

Each `.list` template will have access to the top level `items` key in its context. This is a list of all the items in the collection. To explore the context for a collection list view, visit any existing blog or gallery page using the `?format=json-pretty` query parameter. (For example, [http://base-template.squarespace.com/blog?format=json-pretty](http://base-template.squarespace.com/blog?format=json-pretty))

### Collection Item Views (collection.item)

Item views are templates for the individual pages of a collection. Example: blog.item templates a single blog post page. 

Each `.item` template will have access to the `item` key in its context. This will contain data attributes relevant to that item. To explore the context for a collection item view, visit any existing blog post or gallery image page using the `?format=json-pretty` query parameter. 

### Further Reading

For further help, consult the [Collections page](https://developers.squarespace.com/collections/) in the developer docs.


================================================
FILE: collections/blog.conf
================================================
{
  "title" : "Blog",
  "ordering" : "chronological",
  "addText" : "Add Post",
  "acceptTypes": ["text"]
}

================================================
FILE: collections/blog.item
================================================

{.section item}

  <!--WRAPPER-->
  <article id="post-{id}" class="{@|item-classes}" data-item-id="{id}">

    <!--POST TILE-->
    <h1 class="title" data-content-field="title">
      {.passthrough?}
        <a href="{sourceUrl}" target="_blank">{title}</a>
      {.or}
        {title}
      {.end}
    </h1>

    <!--AUTHOR AND DATE-->
    <p class="meta">
      <a href="{fullUrl}" class="permalink"><time datetime="{addedOn|date %F}">{addedOn|date %B %d, %Y}</time></a> by <a href="{collection.fullUrl}?author={author.id}">{author.displayName}</a>
    </p>

    <!--MAIN CONTENT-->
    {body}

    <!--BLOG INJECTION-->
    {postItemInjectCode}

    <!--CATEGORIES-->
    {.repeated section categories}
      <a class="category" href="{collection.fullUrl}?category={@|url-encode}">{@}</a>{.alternates with},
    {.end}

    <!--TAGS-->
    {.repeated section tags}
      <a class="tag" href="{collection.fullUrl}?tag={@|url-encode}">{@}</a>{.alternates with},
    {.end}

    <!--SHARE AND LIKE-->
    {@|like-button}
    {@|social-button}


    <!--LOCATION-->
    {.section location}
      {.section addressTitle}
        {addressTitle}
        {addressLine1}
        {addressLine2}
        {addressCountry}
      {.end}
    {.end}

    <!--COMMENTS-->
    {@|comments}

  </article>

{.end}


<!--PAGINATION-->
{.section pagination}
  <nav class="blog-item-pagination">

    <!--NEWER PAGE-->
    {.section prevItem}
      <a href="{fullUrl}">Newer</a>
    {.or}
      <a class="disabled">Newer</a>
    {.end}

    <!--OLDER PAGE-->
    {.section nextItem}
      <a href="{fullUrl}">Older</a>
    {.or}
      <a class="disabled">Older</a>
    {.end}

  </nav>
{.end}


================================================
FILE: collections/blog.list
================================================

{.section categoryFilter}
  <p class="filtered-by">Filtered by Category: {@|safe}</p>
{.end}

{.section tagFilter}
  <p class="filtered-by">Filtered by Tag: {@|safe}</p>
{.end}

{.if authorFilter}
  <p class="filtered-by">Filtered by Author: {author.displayName}</p>
{.end}

<!-- item loop -->
{.repeated section items}

  <article id="post-{id}" class="blog-list-item {@|item-classes}" data-item-id="{id}">
    <!-- main image (thumbnail) -->
    {.main-image?}
      <a href="{fullUrl}" class="main-image content-fill">
        <img {@|image-meta} />
      </a>
    {.end}
    <!-- post title -->
    <h1 class="title" data-content-field="title">
      {.passthrough?}
        <a href="{sourceUrl}" target="_blank">{title}</a>
      {.or}
        <a href="{fullUrl}">{title}</a>
      {.end}
    </h1>
    <!-- excerpt or body -->
    {.if excerpt}
      {excerpt}
      <a class="link" href="{fullUrl}">Read More</a>
    {.or}
      {body}
    {.end}
  </article>

{.or}

  <!-- no items means no blog posts -->
  <p><em>No blog posts yet.</em></p>

{.end}

<!-- pagination -->
{.if pagination}
  <nav class="blog-list-pagination">

    <!-- newer page -->
    {.if pagination.prevPage}
      <a href="{pagination.prevPageUrl}">Newer</a>
    {.or}
      <a class="disabled">Newer</a>
    {.end}

    <!-- older page -->
    {.if pagination.nextPage}
      <a href="{pagination.nextPageUrl}">Older</a>
    {.or}
      <a class="disabled">Older</a>
    {.end}

  </nav>
{.end}


================================================
FILE: readme.md
================================================
Base Template
------------------------------

A minimal template for developers getting started with Squarespace, using developer mode. No tweaks, no web fonts, no static assets, no static pages, no system collections, no collection features, no modules at all.

For more information about the Squarespace Developer Platform see [developers.squarespace.com](http://developers.squarespace.com).

### Usage

See the [Developer Getting Started](https://developers.squarespace.com/quick-start) page for an step-by-step guide for getting started with the Squaresapce Developer Platform. You can create a new website using this template by visiting [base-template.squarespace.com](http://base-template.squarespace.com) and clicking the "Create a Site Like This" button. This template is also available on [GitHub](https://github.com/Squarespace/base-template).

### Squarespace Templates

Each Squarespace website is based on a template like this one. Templates contain regular web files like CSS and JavaScript. In addition, Squarespace recognizes a few special file types:

#### JSON-T Template Files

Squarespace template files are written in [JSON Template](https://developers.squarespace.com/what-is-json-t), also known as JSON-T. It is a simple yet expressive template language. JSON-T files have different extensions depending on the type of file, for example `.list`, `.item`, and `.region`.

#### LESS Files

Template LESS files (.less) are processed through the [LESS](http://lesscss.org/) preprocessor. LESS extends CSS with dynamic behavior such as variables, mixins, operations and functions.

### Template Folder Structure

Squarespace template files are organized using the following folder structure at the root of your site:

- **assets**: design assets — example: images, fonts and icons
- **blocks**: reusable blocks of JSON-T (AKA partials) — ex: navigation.block
- **collections**: collection files — [collection].list, [collection].item, [collection].conf
- **scripts**: Javascript files — site.js
- **styles**: stylesheet files — styles.css, styles.less
- [**root**]: sitewide files — site.region, template.conf

### Essential Files

At the very minimum, your template needs a `.region` file and a `template.conf`.

#### /site.region

Typically this file is used as the global site template – containing the site header, footer, and sidebars. This is like the `index.html` of your site. Every template must have at least one `.region` file. Simple templates will have a single `.region`, more advanced templates will have multiple `.region` files describing header, body, and footer variants. Regions files live in the root directory of a template.

See the [Layouts & Regions documentation](https://developers.squarespace.com/layouts-regions/) for more details.

#### /template.conf

Contains the configuration settings for the template. This is where you can name your template, specify layouts, add navigation sections, specify stylesheets, and other general site options. Template configuration files must live in the root directory of a template.

See the [Template Configuration documentation](https://developers.squarespace.com/template-configuration/) for more details.

### Further Reading

For further reading please consult the [Squarespace Template Overview](https://developers.squarespace.com/template-overview/) and other documentation on the Squarespace developers website.


================================================
FILE: scripts/README.md
================================================
Custom Javascript
-----------------

You can use any custom javascript file or library in your Squarespace Template. Squarespace provides a script loader that minifies and combines your custom scripts, which you can use if you like. Alternatively you can package your scripts using the preprocessor of your choice.

### Using the Script Loader

Squarespace's script loader minifies your code and allows you to combine all of your JavaScript files into one, cutting down on HTTP requests. Loading JavaScript in Squarespace is very similar to the standard script tag syntax in HTML. The syntax is outlined in the code sample below.

    <squarespace:script src="plugin.js" combo="true" />
    <squarespace:script src="site.js" combo="true" />

> NOTE: The script's src path is relative to the template /scripts folder.

### Using your own Javascript Preprocessor

You can use any javascript workflow tool, like NPM, gulp, browserify or webpack. You can include the compiled code in your /scripts folder, and link to those files using regular script tags, or the Squarespace Script Tag.

### Further Reading

For further reading, check out the [Squarespace developer docs on Javascript](https://developers.squarespace.com/custom-javascript/).

================================================
FILE: scripts/site.js
================================================

/**
 * This script wrapped in a Immediately-Invoked Function Expression (IIFE) to
 * prevent variables from leaking onto the global scope. For more information
 * on IIFE visit the link below.
 * @see http://en.wikipedia.org/wiki/Immediately-invoked_function_expression
 */

(function() {
  'use strict';

  // Load all images via Squarespace's Responsive ImageLoader
  function loadAllImages() {
    var images = document.querySelectorAll('img[data-src]' );
    for (var i = 0; i < images.length; i++) {
      ImageLoader.load(images[i], {load: true});
    }
  }

  // The event subscription that loads images when the page is ready
  document.addEventListener('DOMContentLoaded', loadAllImages);

  // The event subscription that reloads images on resize
  window.addEventListener('resize', loadAllImages);

}());


================================================
FILE: site.region
================================================
<!doctype html>
<html>
  <head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">

    <!-- include system scripts, page meta, and header code injection -->
    {squarespace-headers}
  </head>
  <body id="{squarespace.page-id}" class="{squarespace.page-classes}">

    <div class="site-container">

      <header class="site-header">
        <!-- site navigation -->
        <squarespace:navigation navigationId="siteNav" template="site-navigation" />

        <!-- site title or logo -->
        {.section website}
          <h1 class="site-title-heading" data-content-field="site-title">
            <a href="/" class="site-title-link">{siteTitle}</a>
          </h1>
        {.end}
      </header>

      <!-- cms content injection point -->
      <main class="content-container" role="main" data-content-field="main-content">
       {squarespace.main-content}
      </main>

      <!--Footer with open block field -->
      <footer class="site-footer">
        <squarespace:block-field id="footerBlocks" columns="12" />
      </footer>

    </div>

    <!-- combo and minify scripts when not logged in -->
    <squarespace:script src="site.js" combo="{.if authenticatedAccount}false{.or}true{.end}" />

    <!-- other scripts, and footer code injection -->
    {squarespace-footers}

  </body>
</html>


================================================
FILE: styles/README.md
================================================
Styles
------

This folder contains the LESS and CSS styles for your website. All Squarespace styles are processed using [LESS](http://lesscss.org/). LESS extends CSS with dynamic behavior such as variables, mixins, operations and functions.

To include CSS or LESS files in your template, edit the template.conf and list the files in the order you wish to include them. For example:

    "stylesheets" : [ "global.css", "my-site.less", "another-style.less" ]

All stylesheets added to the template.conf in this way will be compiled and served as one CSS file automatically. You do not need to add any stylesheet links to the HEAD section of your site.

> NOTE: If you add a file named reset.css to the /styles folder it will automatically be added to the top of the site.css file and it should not be listed in the stylesheets variable in the template.conf file.

### Further Reading

For further reading, see the [Template Overview documentation](https://developers.squarespace.com/template-overview/). To read about adding attributes to our style editor, see the [Style Editor documentation](https://developers.squarespace.com/style-editor/).


================================================
FILE: styles/base.less
================================================

/* CSS pre-processing by {less}. http://lesscss.org/
***************************************************/



/* General syles
***************************************************/

body {
  font-family: -apple-system, BlinkMacSystemFont,
    "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell",
    "Fira Sans", "Droid Sans", "Helvetica Neue",
    sans-serif;
  font-size: 100%;
  font-weight: normal;
}

.site-container {
  line-height: 1.6em;
  color: #777;
  max-width: 1020px;
  padding: 6vw;

  h1, h2, h3 {
    font-weight: normal;
    line-height: 1.2em;
  }

  a {
    color: cornflowerblue;

    &.disabled {
      color: #ccc;
    }
  }
}

.site-header {
  margin-bottom: 4vw;
}

.site-navigation { }

.site-navigation-list {
  padding: 0;
}

.site-navigation-item {
  display: inline-block;
  font-size: 87.5%;

  & + .site-navigation-item {
    margin-left: 1em;
  }

  a {
    color: #111;
    text-decoration: none;

    &:hover {
      color: #999;
    }
  }

  &.active-link > a {
    color: #999;
  }

}

.site-title-heading {

  .site-title-link {
    color: #111;
    font-weight: 400;
    text-decoration: none;
  }
}

.content-container { }

.site-footer {
  font-size: 75%;
  margin-top: 4vw;
  margin-bottom: 4vw;
}



/* Homepage
***************************************************/

body.homepage { }



/* Blog list
***************************************************/

body.collection-type-blog.view-list {

  .blog-list-item + .blog-list-item {
    margin-top: 3vw;
  }
}



/* Break grid and stack blocks on small screens
***************************************************/

@media screen and (max-width: 640px) {
  @import 'sqs-grid-breaker';
}




================================================
FILE: styles/reset.css
================================================
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */

/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */

html {
  font-family: sans-serif; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/**
 * Remove default margin.
 */

body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */

/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */

audio,
canvas,
progress,
video {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */

audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */

[hidden],
template {
  display: none;
}

/* Links
   ========================================================================== */

/**
 * Remove the gray background color from active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */

a:active,
a:hover {
  outline: 0;
}

/* Text-level semantics
   ========================================================================== */

/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */

abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */

b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */

dfn {
  font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */

mark {
  background: #ff0;
  color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove border when inside `a` element in IE 8/9/10.
 */

img {
  border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */

svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */

/**
 * Address margin not present in IE 8/9 and Safari.
 */

figure {
  margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */

hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */

pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Forms
   ========================================================================== */

/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */

/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */

button,
input,
optgroup,
select,
textarea {
  color: inherit; /* 1 */
  font: inherit; /* 2 */
  margin: 0; /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */

button {
  overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */

button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */

button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button; /* 2 */
  cursor: pointer; /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */

button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */

input {
  line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */

input[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box; /* 2 */
  box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */

legend {
  border: 0; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */

textarea {
  overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */

optgroup {
  font-weight: bold;
}

/* Tables
   ========================================================================== */

/**
 * Remove most spacing between table cells.
 */

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

================================================
FILE: template.conf
================================================
{
  "name" : "Base Template",
  "author" : "Squarespace",

  "layouts" : {
    "default" : {
      "name" : "Default",
      "regions" : [ "site" ]
    }
  },

  "navigations" : [ {
      "title" : "Site Navigation",
      "name" : "siteNav"
  } ],

  "stylesheets" : [ "base.less" ]
}
Download .txt
gitextract_ols805y4/

├── .gitignore
├── blocks/
│   ├── README.md
│   └── site-navigation.block
├── collections/
│   ├── README.md
│   ├── blog.conf
│   ├── blog.item
│   └── blog.list
├── readme.md
├── scripts/
│   ├── README.md
│   └── site.js
├── site.region
├── styles/
│   ├── README.md
│   ├── base.less
│   └── reset.css
└── template.conf
Download .txt
SYMBOL INDEX (1 symbols across 1 files)

FILE: scripts/site.js
  function loadAllImages (line 13) | function loadAllImages() {
Condensed preview — 15 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (27K chars).
[
  {
    "path": ".gitignore",
    "chars": 17,
    "preview": "sftp-config.json\n"
  },
  {
    "path": "blocks/README.md",
    "chars": 1452,
    "preview": "Template Partials\n-----------------\n\nThe `/blocks/` folder contains template partials. Partials allow you to reuse code "
  },
  {
    "path": "blocks/site-navigation.block",
    "chars": 527,
    "preview": "<nav class=\"site-navigation\">\n  <ul class=\"site-navigation-list\">\n    {.repeated section items}\n\n      <li class=\"site-n"
  },
  {
    "path": "collections/README.md",
    "chars": 2342,
    "preview": "Collections\n-----------\n\nThis folder contains collection definitions. Collections allow you to group together a set of p"
  },
  {
    "path": "collections/blog.conf",
    "chars": 107,
    "preview": "{\n  \"title\" : \"Blog\",\n  \"ordering\" : \"chronological\",\n  \"addText\" : \"Add Post\",\n  \"acceptTypes\": [\"text\"]\n}"
  },
  {
    "path": "collections/blog.item",
    "chars": 1674,
    "preview": "\n{.section item}\n\n  <!--WRAPPER-->\n  <article id=\"post-{id}\" class=\"{@|item-classes}\" data-item-id=\"{id}\">\n\n    <!--POST"
  },
  {
    "path": "collections/blog.list",
    "chars": 1479,
    "preview": "\n{.section categoryFilter}\n  <p class=\"filtered-by\">Filtered by Category: {@|safe}</p>\n{.end}\n\n{.section tagFilter}\n  <p"
  },
  {
    "path": "readme.md",
    "chars": 3406,
    "preview": "Base Template\n------------------------------\n\nA minimal template for developers getting started with Squarespace, using "
  },
  {
    "path": "scripts/README.md",
    "chars": 1239,
    "preview": "Custom Javascript\n-----------------\n\nYou can use any custom javascript file or library in your Squarespace Template. Squ"
  },
  {
    "path": "scripts/site.js",
    "chars": 817,
    "preview": "\n/**\n * This script wrapped in a Immediately-Invoked Function Expression (IIFE) to\n * prevent variables from leaking ont"
  },
  {
    "path": "site.region",
    "chars": 1416,
    "preview": "<!doctype html>\n<html>\n  <head>\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n    <meta name=\"viewp"
  },
  {
    "path": "styles/README.md",
    "chars": 1146,
    "preview": "Styles\n------\n\nThis folder contains the LESS and CSS styles for your website. All Squarespace styles are processed using"
  },
  {
    "path": "styles/base.less",
    "chars": 1680,
    "preview": "\n/* CSS pre-processing by {less}. http://lesscss.org/\n***************************************************/\n\n\n\n/* General"
  },
  {
    "path": "styles/reset.css",
    "chars": 7797,
    "preview": "/*! normalize.css v3.0.2 | MIT License | git.io/normalize */\n\n/**\n * 1. Set default font family to sans-serif.\n * 2. Pre"
  },
  {
    "path": "template.conf",
    "chars": 286,
    "preview": "{\n  \"name\" : \"Base Template\",\n  \"author\" : \"Squarespace\",\n\n  \"layouts\" : {\n    \"default\" : {\n      \"name\" : \"Default\",\n "
  }
]

About this extraction

This page contains the full source code of the Squarespace/base-template GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 15 files (24.8 KB), approximately 6.5k tokens, and a symbol index with 1 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!