I hereby claim:
- I am hlubek on github.
- I am hlubek (https://keybase.io/hlubek) on keybase.
- I have a public key whose fingerprint is 07C3 2231 EE93 14EB 9BAF 8562 968C 0CAB A521 36D6
To claim this, I am signing this object:
| // Extend the Page prototype | |
| prototype(TYPO3.Neos.NodeTypes:Page) { | |
| // body or head depending on the position | |
| body.javascripts { | |
| prism = TYPO3.TypoScript:Tag { | |
| tagName = 'script' | |
| attributes { | |
| src = TYPO3.TypoScript:ResourceUri { | |
| path = 'resource://Networkteam.LearnNeos/Public/Scripts/Vendor/prism.js' | |
| } |
I hereby claim:
To claim this, I am signing this object:
| # Override the default root matcher to render a document node with a prototype of the same name | |
| root.default { | |
| type = ${q(node).property('_nodeType')} | |
| renderPath > | |
| } | |
| # | |
| # A blog Post document node renderer | |
| # |
| # | |
| # Adapt MultiColumn rendering to Bootstrap | |
| # | |
| prototype(TYPO3.Neos.NodeTypes:MultiColumn) { | |
| attributes.class = ${'row-fluid columns-' + q(node).property('layout')} | |
| columns.iterationName = 'iterator' | |
| } | |
| prototype(TYPO3.Neos.NodeTypes:MultiColumn) { | |
| @override { | |
| columnLayout = ${q(node).property('layout')} |
| TYPO3: | |
| Neos: | |
| contentDimensions: | |
| dimensions: | |
| 'locales': | |
| defaultPreset: 'all' | |
| label: 'Locale' | |
| icon: 'icon-language' | |
| presets: | |
| 'all': |
| { | |
| "defaults": { | |
| "gerrit_api_endpoint": "https://review.typo3.org/", | |
| "gerrit_git": "git.typo3.org" | |
| }, | |
| "changes": [ | |
| { | |
| "name": "[FEATURE] Allow conversion from objects to simple types", | |
| "type": "gerrit", | |
| "path": "Packages/Framework/TYPO3.Flow", |
| SELECT ni.* | |
| FROM ( | |
| SELECT identifier, MIN(FIND_IN_SET(locale, 'en_US,en_ZZ,mul_ZZ')) AS localePos FROM `typo3_typo3cr_domain_model_nodedata` n WHERE `parentpath` = "/sites/neosdemotypo3/subpage/main" AND locale IN ('en_US', 'en_ZZ', 'mul_ZZ') GROUP BY identifier ORDER BY `sortingindex` | |
| ) nn | |
| JOIN typo3_typo3cr_domain_model_nodedata ni | |
| ON ni.identifier = nn.identifier AND FIND_IN_SET(ni.locale, 'en_US,en_ZZ,mul_ZZ') = nn.localePos |
| prototype(Acme.Demo:IncludeCss) < prototype(TYPO3.TypoScript:Tag) { | |
| tagName = 'link' | |
| attributes { | |
| type = 'text/css' | |
| rel = 'stylesheet' | |
| href = TYPO3.TypoScript:ResourceUri | |
| } | |
| } | |
| page = Page { |
| START TRANSACTION; | |
| DELETE FROM `typo3_typo3cr_domain_model_nodedata` WHERE path = '/sites/neostypo3org'; | |
| UPDATE `typo3_typo3cr_domain_model_nodedata` SET path = REPLACE(path, '/sites/neostypo3org/homepage', '/sites/neostypo3org'), pathhash = MD5(REPLACE(path, '/sites/neostypo3org/homepage', '/sites/neostypo3org')), parentpath = REPLACE(parentpath, '/sites/neostypo3org/homepage', '/sites/neostypo3org') WHERE path LIKE '/sites/neostypo3org/homepage%'; | |
| UPDATE typo3_typo3cr_domain_model_nodedata SET parentpath = '/sites' WHERE path = '/sites/neostypo3org'; | |
| COMMIT; | |
| # Clear routing cache after that! |
Do you remember the good old days?
What is TypoScript? Various myths and speculations exist about that, well, programming language? No, it never was a programming language. Though it could be used to express logic. Is it a configuration language then? It's often used to configure settings, but the scope is certainly blurry.
The power of TypoScript - if used well - is the declarative approach of expressing the rendering and execution of various parts of the system. And a declaration in TypoScript is never final, but can be changed at a later time by another extension or template.