Skip to content

Instantly share code, notes, and snippets.

View svendahlstrand's full-sized avatar

Sven Dahlstrand svendahlstrand

View GitHub Profile
@svendahlstrand
svendahlstrand / stalenhag.sh
Last active August 12, 2019 09:57
Download wallpaper-friendly art, by Swedish artist Simon Stålenhag.
#!/usr/bin/env sh
# Download wallpaper-friendly art, by Swedish artist Simon Stålenhag.
ROOT_URL="http://simonstalenhag.se"
MAX_PROCESSES=30
curl -s "${ROOT_URL}" |
grep -Eio "bilderbig[^\"]+\.jpg" |
sort | uniq |
@svendahlstrand
svendahlstrand / sv-facetedsearch-scroll-fix.js
Last active May 21, 2016 20:26
Ett JavaScript som rullar besökaren längst upp när hon går till en annan sida bland sökresultaten i SiteVisions facetterade sök-modul.
(function ($) {
$('body').on('mouseup', '.sv-facetedsearch-portlet .pagination a', function () {
window.scrollTo(0, 0);
});
}(jQuery));
@svendahlstrand
svendahlstrand / sitevision-sitemap-counter.html
Last active February 25, 2016 12:56
Ett skript som visar antalet sidor under "huvudrubrikerna" i en Webbkarta i SiteVision.
<script>
(function ($) {
$('.sv-sitemap-portlet > ul > li').each(function () {
var listItem = $(this);
var link = listItem.find('> a');
var childItems = listItem.find('li');
link.append(' (' + childItems.size() + ')');
});
}(jQuery));
@svendahlstrand
svendahlstrand / sv-edit-toggler-src.js
Last active May 21, 2016 20:29
En "bookmarklet" för att hoppa mellan nya och klassiska redigeringsläget i SiteVision 4.
(function() {
var iFrameInOldEdit = document.getElementsByName("SiteVisionEditor");
var newEditModeMatch = window.location.href.match(/\/(edit|template)\/([a-z0-9\.]+)$/i);
var oldEditModeMatch = iFrameInOldEdit[0] && iFrameInOldEdit[0].contentWindow.location.href.match(/[^\/]\/([a-z0-9\.]+)\.html/i);
if (newEditModeMatch) {
window.location.href = '/editor?objectId=' + newEditModeMatch[2];
} else if (oldEditModeMatch) {
window.location.href = '/edit/' + iFrameInOldEdit[0].contentWindow.sv.PageContext.pageId;
} else {
@svendahlstrand
svendahlstrand / sitevision-remove-old-files.js
Last active May 21, 2016 20:30
Ta bort gamla filer ur SiteVisions filarkiv
/* globals sitevisionUtils, jcrSession, node, java, out*/
(function () {
var settings = {
date: '2010-01-28'
};
var nodeTypeUtil = sitevisionUtils.getNodeTypeUtil();
var file = jcrSession.getNodeByIdentifier(node.toString());
@svendahlstrand
svendahlstrand / sitevision-user-id-link.js
Last active May 21, 2016 20:31
Koncept: adress till användarens profilsida i SiteVisions Social Collaboration.
@svendahlstrand
svendahlstrand / sitevision-social-collaboration-custom-views.md
Last active May 21, 2016 20:33
Anpassade vyer i Social Collaboration-mallar.

Anpassade vyer i Social Collaboration-mallar

Om du använder Social Collaboration i SiteVision och vill visa viss information för besökaren om den tittar på sin egna profil eller är administratör i gruppen hon besöker ska du läsa vidare. Detta kan du enkelt sätta upp med en JavaScript-anpassad vy. Här nedan följer instruktioner - det finns även ett par skärmdumpar som visar hur det ska se ut.

Besökarens egna profil

  1. Gå till profilmallen.
  2. Skapa en anpassad vy - läs hur det går tillväga i SiteVisions dokumentation.
  3. Välj ett lämpligt namn.
  4. Den anpassade vyn ska vara av typen JavaScript.
@svendahlstrand
svendahlstrand / sitevision-visitor-ip.js
Last active May 21, 2016 20:34
En SiteVision-skriptmodul som visar besökarens IP-adresss.
var clientAddress = require('ClientUtil').getClientAddress();
@svendahlstrand
svendahlstrand / sitevision-jquery-tips.md
Last active December 2, 2016 10:50
Hur jag jobbar med jQuery i SiteVision.

SiteVision garanterar inte jQuerys funktion och rekommenderar att man lägger till biblioteket själv. Jag tycker det känns onödigt och använder tekniken nedan. Den är bra för att:

  • du kan använda $ i stället för $svjq
  • du slipper lägga till jQuery en gång till (och besökarna slipper ladda ner det två gånger)
  • om det någon gång, mot förmodan, skulle sluta fungera kan du lägga till jQuery och det kommer hoppa igång igen utan att du behöver ändra något
(function ($) {
  // Här skriptar du på med $ som vanligt.
}(jQuery));
@svendahlstrand
svendahlstrand / sitevision-list-directory-members-metadata.js
Last active May 21, 2016 21:00
SiteVision: lista alla användare i en grupp.
var settings = {
groupMetadataName: 'staffGroup'
};
var utils = request.getAttribute('sitevision.utils');
var session = request.getAttribute('sitevision.jcr.session');
var directoryUtil = utils.getDirectoryUtil();
var propertyUtil = utils.getPropertyUtil();
var currentPage = utils.getPortletContextUtil().getCurrentPage();