by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Jul 06 14:26

    nebrelbug on gh-pages

    docs(docs): update gh-pages (compare)

  • Jul 06 14:24

    nebrelbug on master

    Add Cypress to list of projects… (compare)

  • Jul 04 01:36
    nebrelbug commented #196
  • Jul 04 01:10

    nebrelbug on gh-pages

    docs(docs): update gh-pages (compare)

  • Jul 04 01:08

    nebrelbug on v8.0.3

    (compare)

  • Jul 04 01:08

    nebrelbug on master

    Update README - add note about … v8.0.3 (compare)

  • Jun 22 16:51
    vinothbabu commented #195
  • Jun 21 00:03
    nebrelbug commented #195
  • Jun 21 00:02

    nebrelbug on gh-pages

    docs(docs): update gh-pages (compare)

  • Jun 21 00:01

    nebrelbug on gh-pages

    docs(docs): update gh-pages (compare)

  • Jun 21 00:00

    nebrelbug on v8.0.2

    (compare)

  • Jun 21 00:00

    nebrelbug on master

    v8.0.2 (compare)

  • Jun 20 23:59

    nebrelbug on master

    Update some tests to import fro… Rebuilt (compare)

  • Jun 20 23:09

    nebrelbug on master

    Upgrade dev dependencies (compare)

  • Jun 20 23:02

    nebrelbug on gh-pages

    docs(docs): update gh-pages (compare)

  • Jun 20 23:01

    nebrelbug on master

    check if the native prototype m… check if the function exists in… Revert "check if the function e… and 2 more (compare)

  • Jun 20 23:01
    nebrelbug closed #195
  • Jun 14 01:09
    Arturace closed #196
  • Jun 14 01:09
    Arturace commented #196
  • Jun 14 00:33
    Arturace commented #196
Ben Gubler
@nebrelbug

@/all quick announcement:

While I'm finishing the last touches on Squirrelly, check out Eta! It's a template engine with the same internals as Squirrelly, and is designed as a faster and more lightweight alternative to EJS. It solves parsing problems that both EJS and doT have, and supports plugins!

dpeter99
@dpeter99
Hey guys I'm trying to set up a simple view template
But I can't get it to include my page files.
(I'm trying to have a single template file for the website, and many smaller files for the content in that would get included in the template based on the URL)
Ben Gubler
@nebrelbug
@dpeter99 sorry for the late reply!
In Squirrelly v7, you have to define the partial first:
fs.readFile('/views/partial1.sqrl', (err, template) => {
  if (err) {
    console.error(err)
    return
  }
  Sqrl.definePartial("partial1", template)
})
Then you can use it in your template like:
{{include("partial1")/}}
I know that's a huge pain, and Squirrelly v8 lets you just do {{~includeFile('./partial1') /}}. It will be released shortly.
Mike Dalrymple
@mousedownmike
The v8 docs show the use of the @ sign in an example but I can't figure out what the meaning of the symbol is. https://squirrelly.js.org/docs/syntax/helpers
{{@user.img}}
Also... is there an idiomatic way of accessing process.env variables in a template? I'm just manually passing it in as something like it.env.
Ben Gubler
@nebrelbug
@mousedownmike shoot it looks like I forgot to edit that from the v7 docs. In v8 that wouldn't be valid syntax :)
As far as accessing process.env, the best way is probably the way you're doing it.
Although actually, if process.env is in the global scope, you may be able to access it from within the template.
Mike Dalrymple
@mousedownmike
👍
Ben Gubler
@nebrelbug
@mousedownmike since it seems you're one of the first users (or potential users) of version 8, can I ask a quick question?
I've been thinking about changing the prefix marking helpers from ~ to @. I think it might potentially improve readability and make templates easier to type for people with international keyboards.
My change would allow people to customize prefixes (change it back to ~ if they wanted), but it would set @ as the default helper prefix (ex. {{@myhelper("stuff") /}})
Any opinions on this?
Mike Dalrymple
@mousedownmike
I find the tilde difficult to distinguish from a hyphen... in Go {{- removes whitespace in a template. So... as a sampling of 1, I agree with your intuition to change it to @.
Ben Gubler
@nebrelbug
:thumbsup:
Ben Gubler
@nebrelbug
@/all as a warning, the next Beta release will contain a breaking change: helpers will be prefixed by @ instead of by ~ by default.
Prefixes will be customizable in the coming release, but after a lot of consideration I decided @ would be better as a default prefix.
Mike Dalrymple
@mousedownmike
@nebrelbug I wrapped up my initial implementation using v8 last week. It's a pretty basic AWS Lambda function that uses Squirrelly to format messages generated by AWS Cognito. Super fast and so far... super reliable. Thanks!
Ben Gubler
@nebrelbug
@mousedownmike you're welcome! I'm glad you're enjoying using Squirrelly!
Don't Ask
@DontAskM8
Hi wanna ask how do i actually get the previous key of a loop
{{foreach(options.items)}}
    <tr>
        {{foreach(options.items[@key])}}
        <td>{{@../key}}</td>
        {{/foreach}}
    </tr>
{{/foreach}}
The above is just part of the code. Others are working fine and im getting TypeError: Cannot read property 'id' of undefined
John Jenkins
@johnjenkins
Hi there! Just wondering if there's a in built way of temporarily storing a local variable within the template or anything?
I want to sum the number of items in an array of objects. Thought about making a helper using reduce or whatever, but it would be so specific in this case that defining a helper seems over the top.
Is there a way I can temporarily store a count using ~each or something?
Thanks!
Ben Gubler
@nebrelbug
@johnjenkins sure! You should be able to do something like this:
{{js(var x = 0)/}}
{{foreach(options.obj) }}
hey
{{js(x += @this.length)/}}
{{/foreach}}
Note that x is a global variable, so it can only be accessed inside function parameters
John Jenkins
@johnjenkins
Great! Totally forgot to mention I'm using v8(!) but pointed me in the right direction.
I achieved what I needed to with {{ (it.appliedFilters.reduce(function(a, b) { return ... }, 0)) }}
Ben Gubler
@nebrelbug
@johnjenkins fantastic!

@DontAskM8 after doing some investigation, it looks like that's a bug in Squirrelly v7. Squirrelly looks back up the scope chain one too many times with scoped helper references. Squirrelly v7 doesn't have automated testing, and not many people use scoped helper references, so that must be how the bug wasn't noticed.

Unfortunately, I don't believe there's an easy way to fix the problem -- hundreds of templates use Squirrelly v7, and this would be a breaking change for people with scoped templates.

I would recommend just using Squirrelly v8 stable, which I will release later this week. It is more powerful, remains lightweight, and has automated testing and test coverage set up.
Don't Ask
@DontAskM8

I would recommend just using Squirrelly v8 stable, which I will release later this week. It is more powerful, remains lightweight, and has automated testing and test coverage set up.

Alright will update soon. Anyways found a workaround by using ids for loop. The documentation actually lacks this information and only found it in the comment section

Ben Gubler
@nebrelbug
@DontAskM8 I should have thought of that! Glad to hear you found a solution.
Ben Gubler
@nebrelbug
@/all I just released squirrelly@8.0.0-beta.11! Notably, it changes the helper prefix from ~ to @ and allows you to customize prefixes.
I'm planning to release stable sometime tomorrow! At this point, I feel that Squirrelly v8 is a good deal more functional and reliable than version 7, even if I do need to work more on the documentation.
Speaking of documentation, check out https://squirrelly.js.org -- the homepage got a refresh!
Ben Gubler
@nebrelbug
@/all after months of work, I just released Squirrelly 8.0.0 stable! :tada: :rocket: :tada:
tabarra
@tabarra
Beeeeen
why u no migration guide :sob:
Seriously, literally every tag changed
tabarra
@tabarra
All good tho :thumbsup:
crazy vscode regex replaces mostly worked
Ben Gubler
@nebrelbug

@tabarra oops, wish I'd thought of that!

Did you get everything working?

tabarra
@tabarra
Sure did :)
tabarra
@tabarra
But it would be good to add an simple migration guide
like a permutation table
example:
{{include("template")/}} -> {{@include("template", it)/}}