ichhabrecht / mask_export Goto Github PK
View Code? Open in Web Editor NEWExport your mask elements as extension
License: GNU General Public License v2.0
Export your mask elements as extension
License: GNU General Public License v2.0
Feature-Request: Select elements which should be exported
With this feature it would be able to choose only specific elements which should be exported to an own extension.
If I use an already existing DB field in mask, the label of this field can be overridden.
In the exported extension, the field is displayed with it's default label instead.
I create a mask element with an option "Content" and link to another Mask Element (IRRE functionality) And i have three columns at the backend layout, too.
You can see it here: https://picload.org/image/rdwopggo/mask.png
After the export i deinstall mask and install mask_example extension with all mask elements and get this output: https://picload.org/image/rdwopgro/mask2.png
Hint: Extensions mask adds the colPos 999 via itemsProcFunc: mask\Classes\ItemsProcFuncs\ColPosList.php
mask.zip
after deleting some content elements in mask, i want to export a new content element:
there i see some very strange code with already deleted fields.
e.G.:
ext_tables:
<?php
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('teaser_undefined');
in this table elements which are already deletet reoccur:
ext_tables.sql:
CREATE TABLE teaser_undefined (
...
teaser_link tinytext,
teaser_class tinytext,
teaser_title tinytext,
these field do not exit any longer, but they are still in the exported code.
Even if i delete all content elements in mask.
TYPO3 7.6.14
mask 2.1.1
mask_export 0.4.2
I created several backend preview tempaltes for my mask elements. When I export the mask elements, the export ignores the backend templates. Do I need to consider something, that the templates are included in the export?
In the mask configuration of content fields you can define which content elements types are allowed. The export allows to add all types of content elements in the backend but only the defined ones are rendered in frontend. As this is confusing for editors, the export extension should provide a dataprovider to remove disallowed CTypes in backend context as well.
Hi Nicole,
there seems to be a bug with foreign IRRE table start- and endtime. For both fields a tinyint(4) is used. It should be int(11).
In mask itself it works but not in the exported extension.
I used TYPO§ 8.7.1, mask 3.0.1, mask_export 0.9.0
Example CE configuration:
{
"tt_content": {
"elements": {
"workshops": {
"label": "Workshops",
"key": "workshops",
"shortLabel": "Workshops",
"description": "Informationen zu einem Workshop",
"icon": "fa-briefcase",
"color": "#000000",
"columns": [
"header",
"header_layout",
"tx_mask_workshop"
],
"labels": [
"",
"",
"Workshop"
],
"options": {
"4": "rte"
}
}
},
"sql": {
"tx_mask_workshop": {
"tt_content": {
"tx_mask_workshop": "int(11) unsigned DEFAULT '0' NOT NULL"
}
}
},
"tca": {
"tx_mask_workshop": {
"config": {
"type": "inline",
"foreign_table": "--inlinetable--",
"foreign_field": "parentid",
"foreign_table_field": "parenttable",
"foreign_sortby": "sorting",
"appearance": {
"enabledControls": {
"dragdrop": "1"
},
"collapseAll": "1",
"expandSingle": "1",
"newRecordLinkTitle": "Neuen Workshop anlegen",
"levelLinksPosition": "both",
"useSortable": "1"
},
"minitems": "",
"maxitems": ""
},
"exclude": "1",
"inlineLabel": "Workshop",
"inlineIcon": "Pfad_zu_Icon_das_fuer_IRRE_verwendet_wird ",
"l10n_mode": "copy",
"key": "workshop"
}
}
},
"sys_file_reference": {
"sql": {
"tx_mask_bild": {
"sys_file_reference": {
"tx_mask_bild": "int(11) unsigned DEFAULT '0' NOT NULL"
}
}
}
},
"tx_mask_workshop": {
"sql": {
"tx_mask_titel": {
"tx_mask_workshop": {
"tx_mask_titel": "tinytext"
}
},
"tx_mask_beschreibung": {
"tx_mask_workshop": {
"tx_mask_beschreibung": "text"
}
},
"tx_mask_bild": {
"tx_mask_workshop": {
"tx_mask_bild": "int(11) unsigned DEFAULT '0' NOT NULL"
}
},
},
"tca": {
"tx_mask_titel": {
"config": {
"type": "input",
"eval": "required",
"default": "",
"placeholder": "",
"size": "",
"max": "",
"is_in": ""
},
"exclude": "1",
"inlineParent": "tx_mask_workshop",
"label": "Titel",
"key": "titel"
},
"tx_mask_beschreibung": {
"config": {
"type": "text",
"eval": "trim",
"richtextConfiguration": "default",
"enableRichtext": "1",
"cols": "",
"rows": "",
"default": "",
"placeholder": "",
"max": ""
},
"exclude": "1",
"inlineParent": "tx_mask_workshop",
"label": "Beschreibung",
"rte": "1",
"key": "beschreibung"
},
"tx_mask_bild": {
"exclude": "1",
"options": "file",
"config": {
"appearance": {
"collapseAll": "1",
"useSortable": "1"
},
"minitems": "0",
"maxitems": "1",
"filter": [
{
"parameters": {
"allowedFileExtensions": ""
}
}
]
},
"l10n_mode": "copy",
"inlineParent": "tx_mask_workshop",
"label": "Bild",
"key": "bild"
}
}
}
}
I created a Mask element that uses both Templates/ and Layouts/ ;
The Templates/test.html file is something like that:
<f:layout name="Default" />
<f:section name="content">
....
</f:section>
Layouts/Default.html is:
<f:render section="content" />
When exporting the element, I see that just the file
EXT:mytestext/Resources/Private/Templates/TtContent/test.html is created, obviously without the
<f:section name="content">
part.
TypoScript:
tt_content.mytestext_test= FLUIDTEMPLATE
tt_content.mytestext_test {
file = EXT:mytestext/Resources/Private/Templates/TtContent/test.html
....
To use mask in a team or be able to change content elements at a later time, it might be useful to add the mask.json file to the export. There should be an extension option to enable or disable the export.
Given a container element with an inline (IRRE) field for content elements. An administrator adds a new record and some inline children of different types. An editor with insufficient user access to a CType of one inline child sees an exception currently.
While all field labels are correctly written to locallang_db.xlf
the labels of select items are hardcoded into TCA/Overrides/tt_content.php
. For consistency and being better translatable they should be included in the locallang file as well.
Hi there,
I'm building a backend preview with mask_export atm. Everything works fine for me but I really don't get this thing working:
I have some containers (for builing multicolumn layouts) with the possibility to add some other content elements. With fields like input, select, link and others, everything works fine. But I have also an element which uses the file-field. How can I use the processed data from this field inside a container (content field)? For testing purposes I have attached my mask.json (weird, that github won't let me upload a json-file, so I've zipped it).
My aim is to render the columns and inside them the selected images. If more files (e.g. the backend preview templates and partials) are needed, let me know.
Thanks in advance for your help
error with preview checkbox clicked in Extension manager.
When opening a page with a CE from mask_export (contains only one image element), i get the following error:
#1476107295: PHP Warning: htmlspecialchars() expects parameter 1 to be string, array given
Need some documentation to explain some differences to mask itself
Hi,
TYPO3 7.6.4
mask 2.1.1
mask_export 0.4.0
I created a linklist in mask with a repeating element for the links.
When I use the exported content element and create multiple inline elements, the inline elements will not be displayed in the frontend.
Currently images in inline content elements are not renderer. There need to be a referece to the tt_content table in the fluid f:cobject call.
mask_export writes something like this to Configuration/TCA/Overrides/tt_content.php
:
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile(
'myext',
'Configuration/TypoScript/',
'myext'
);
IMO this belongs into Configuration/TCA/Overrides/sys_template.php
, because that's the table which is changed by ExtensionManagementUtility::addStaticFile()
.
Hello,
the following error occurred with the current TYPO3 Version 8.7:
Oops, an error occurred! Argument 2 passed to CPSIT\MaskExport\Aggregate\ContentRenderingAggregate::addDataProcessing() must be of the type array, null given, called in typo3conf/ext/mask_export/Classes/Aggregate/ContentRenderingAggregate.php on line 141
Can u find and fix that problem ?
Thanks !
P.S. Great Extension.
I saw someone thought this was an import-export addon for mask (like I did too at first) but it's different. Very interesting!!
So I have a few questions:
Am I right that it's rather like a kickstarter to replace the manual coding of new field types, using mask as a GUI engine?
Would you install mask in some independent TYPO3 instance and generate the export(s) from there? Or just run both extensions (mask and mymaskexport) in the same "target" site?
Is there stuff that mask does that won't run if I run just the export and not mask?
Or did I get it all wrong? :-)
In the new content element wizard, the created content elements are added to "Typical page content". In the type dropdown inside the content element, they are filed under "Forms".
Given:
I have a custom element re-using available fields only.
Expected:
I don't expect any $tempColumns initialization as there isn't any new field to initialze.
Actual:
Superfluous code is generated:
$tempColumns = array (
);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('tt_content', $tempColumns);
Today i tested the mask_export extension and found a bug after i installed my generated template extension.
In the content element wizard my new content element is available, but if i select it i receive the following error: TYPE: [ INVALID VALUE ("maskexample_example_table") ]
.
I’ve installed mask 2.1.1 and mask_export 0.3.1.
I advance i will sent you a zip file with my generated extension and the mask.json file via Slack, maybe this will help you.
In the generated extension, the file "locallang_db.xlf" seems to be missing. References to labels are in the generated TCA.
Only the file "locallang_db_new_content_el.xlf" with title and description for the new content elenents is there.
when translating a content element created with a mask_export element, in the first language not the translated element is shown in fe, but the original element.
The element has only one repeatable element with three elements included.
in the backend everything seems to be ok.
if i reproduce this with the original mask extension it works.
version 0.4.2
I wanted to export the extension with the name 'test_mask_export'.
that name is used but each time when a file is referenced with EXT: the extension name is written as 'test_test_mask_export_export'.
Hi Nicole,
I'm not 100% sure, wether this is a mask_export related bug, but may be.
When I'm building content elements which act as a container, nested contents will get colpos 999 as mask default. This totally works fine when creating contents as an administrator. But when creating new contents as a non-admin user, the colpos which is stored in the database will be 0, which breaks the whole template. Unfortunately I can't tell which changes I have done befor getting this issue :-(
If you need more info, let me know.
Regards, Manuel
A mask_export content element with Language=All (sys_language_uid=-1) is not displayed.
Not sure if this is a solution or a workaround:
In Configuration/TypoScript/setup.txt add language to dataProcessing:
dataProcessing.10 = TYPO3\CMS\Frontend\DataProcessing\DatabaseQueryProcessor
dataProcessing.10 {
if.isTrue.field = tx_mask_content_1
table = tt_content
pidInList.field = pid
where = tx_mask_content_1_parent=###uid### AND deleted=0 AND hidden=0 AND colPos='999' AND sys_language_uid IN (###language###, -1)
orderBy = sorting
markers {
uid.field = uid
language.field = sys_language_uid
}
languageField = 0
as = data_tx_mask_content_1
}
This was tested in a environment with only one language (sys_languag_uid=0).
Issue is in both 7.6 and 8.7
when translating a content element, which has a only a content field (where another content element is nested e,g, with a normal field, e.g. string), i get NO output in the fe in the new language.
in be everything is ok.
if i reproduce this with the original mask extension it works.
Hey,
it seems that there's a bug when generating the export.
It occurs when there's at least two different content types. Each one of them has one IRRE field with each a different name but the underlying foreign tables share some fields with the same names, e.g. 'link' or 'image':
The export then generates all fields for that IRRE-table of one of those new content types but leaves those with the same names out for the other table:
CREATE TABLE tt_content (
tx_mycustomelements_profile_list_items int(11) unsigned DEFAULT '0' NOT NULL,
tx_mycustomelements_teaser_list_items int(11) unsigned DEFAULT '0' NOT NULL
);
CREATE TABLE tx_mycustomelements_profile_list_items (
uid int(11) NOT NULL auto_increment,
pid int(11) DEFAULT '0' NOT NULL,
parentid int(11) DEFAULT '0' NOT NULL,
parenttable varchar(255) DEFAULT '' NOT NULL,
sorting int(11) unsigned DEFAULT '0' NOT NULL,
t3ver_oid int(11) unsigned DEFAULT '0' NOT NULL,
t3ver_id int(11) DEFAULT '0' NOT NULL,
t3ver_wsid int(11) DEFAULT '0' NOT NULL,
t3ver_label varchar(255) DEFAULT '' NOT NULL,
t3ver_state tinyint(4) DEFAULT '0' NOT NULL,
t3ver_stage int(11) DEFAULT '0' NOT NULL,
t3ver_count int(11) DEFAULT '0' NOT NULL,
t3ver_tstamp int(11) DEFAULT '0' NOT NULL,
t3ver_move_id int(11) DEFAULT '0' NOT NULL,
tstamp int(11) unsigned DEFAULT '0' NOT NULL,
crdate int(11) unsigned DEFAULT '0' NOT NULL,
cruser_id int(11) unsigned DEFAULT '0' NOT NULL,
deleted tinyint(4) unsigned DEFAULT '0' NOT NULL,
hidden tinyint(4) unsigned DEFAULT '0' NOT NULL,
starttime tinyint(4) unsigned DEFAULT '0' NOT NULL,
endtime tinyint(4) unsigned DEFAULT '0' NOT NULL,
sys_language_uid int(11) DEFAULT '0' NOT NULL,
l10n_parent int(11) unsigned DEFAULT '0' NOT NULL,
l10n_diffsource mediumblob,
tx_mycustomelements_name tinytext,
tx_mycustomelements_description tinytext,
tx_mycustomelements_link tinytext,
tx_mycustomelements_image int(11) unsigned DEFAULT '0' NOT NULL,
PRIMARY KEY (uid),
KEY parent (pid),
KEY t3ver_oid (t3ver_oid,t3ver_wsid),
KEY language (l10n_parent,sys_language_uid)
);
CREATE TABLE tx_mycustomelements_teaser_list_items (
uid int(11) NOT NULL auto_increment,
pid int(11) DEFAULT '0' NOT NULL,
parentid int(11) DEFAULT '0' NOT NULL,
parenttable varchar(255) DEFAULT '' NOT NULL,
sorting int(11) unsigned DEFAULT '0' NOT NULL,
t3ver_oid int(11) unsigned DEFAULT '0' NOT NULL,
t3ver_id int(11) DEFAULT '0' NOT NULL,
t3ver_wsid int(11) DEFAULT '0' NOT NULL,
t3ver_label varchar(255) DEFAULT '' NOT NULL,
t3ver_state tinyint(4) DEFAULT '0' NOT NULL,
t3ver_stage int(11) DEFAULT '0' NOT NULL,
t3ver_count int(11) DEFAULT '0' NOT NULL,
t3ver_tstamp int(11) DEFAULT '0' NOT NULL,
t3ver_move_id int(11) DEFAULT '0' NOT NULL,
tstamp int(11) unsigned DEFAULT '0' NOT NULL,
crdate int(11) unsigned DEFAULT '0' NOT NULL,
cruser_id int(11) unsigned DEFAULT '0' NOT NULL,
deleted tinyint(4) unsigned DEFAULT '0' NOT NULL,
hidden tinyint(4) unsigned DEFAULT '0' NOT NULL,
starttime tinyint(4) unsigned DEFAULT '0' NOT NULL,
endtime tinyint(4) unsigned DEFAULT '0' NOT NULL,
sys_language_uid int(11) DEFAULT '0' NOT NULL,
l10n_parent int(11) unsigned DEFAULT '0' NOT NULL,
l10n_diffsource mediumblob,
tx_mycustomelements_title tinytext,
tx_mycustomelements_teaser text,
tx_mycustomelements_linktext tinytext,
PRIMARY KEY (uid),
KEY parent (pid),
KEY t3ver_oid (t3ver_oid,t3ver_wsid),
KEY language (l10n_parent,sys_language_uid)
);
See, how the expected tx_mycustomelements_link field is missing from the CREATE TABLE block for the tx_mycustomelements_teaser_list_items table?
I'm using TYPO3 7.6.11, EXT:mask 2.1.1 and EXT:mask_export 0.3.2.
Thanks and regards,
Chris
Backend sorting is ignored in frontend output of IRRE-elements.
Manually adding "orderBy = sorting" in TypoScript configuration of content elements (in "dataProcessing"-section) fixes this. This should be added automatically when exporting mask-elements via mask_export.
I installed mask in TYPO3 7.6.9 (clean introduction package), made 1 CE with mask. Then i installed mask_export (last version from GIT). When i click on Code Export - mask_example - Save then nothing happens. When i click on download i get a corrupt zip-archive with 0 bytes in it. After activating developer mode i got this Error:
#1: PHP Warning: array_intersect_key(): Argument #2 is not an array in /Volumes/DATEN/sites/typo3_76/typo3conf/ext/mask_export/Classes/Aggregate/AbstractOverridesAggregate.php line 49 (More information)
TYPO3\CMS\Core\Error\Exception thrown in file
/Volumes/DATEN/src/typo3_src-7.6.last/typo3/sysext/core/Classes/Error/ErrorHandler.php in line 111.
24 TYPO3\CMS\Core\Error\ErrorHandler::handleError(2, "array_intersect_key(): Argument #2 is not an array", "/Volumes/DATEN/sites/typo3_76/typo3conf/ext/mask_e…t/Classes/Aggregate/AbstractOverridesAggregate.php", 49, array)
23 array_intersect_key(array, NULL)
/Volumes/DATEN/sites/typo3_76/typo3conf/ext/mask_export/Classes/Aggregate/AbstractOverridesAggregate.php:
00047: {
00048: $newTableFields = array_intersect_key($tableConfiguration['columns'],
00049: $this->maskConfiguration[$this->table]['tca']);
00050:
00051: if (empty($newTableFields)) {
22 CPSIT\MaskExport\Aggregate\AbstractOverridesAggregate::addTableColumns(array)
/Volumes/DATEN/sites/typo3_76/typo3conf/ext/mask_export/Classes/Aggregate/TtContentOverridesAggregate.php:
00049:
00050: $tableConfiguration = $GLOBALS['TCA'][$this->table];
00051: $this->addTableColumns($tableConfiguration);
00052: $this->addTableTypes($tableConfiguration);
00053: }
21 CPSIT\MaskExport\Aggregate\TtContentOverridesAggregate::process()
/Volumes/DATEN/sites/typo3_76/typo3conf/ext/mask_export/Classes/Aggregate/AbstractAggregate.php:
00052: {
00053: $this->maskConfiguration = $maskConfiguration;
00054: $this->process();
00055: }
00056:
20 CPSIT\MaskExport\Aggregate\AbstractAggregate::__construct(array)
/Volumes/DATEN/src/typo3_src-7.6.last/typo3/sysext/core/Classes/Utility/GeneralUtility.php:
04534: break;
04535: case 2:
04536: $instance = new $className($arguments[1]);
04537: break;
04538: case 3:
Hello.
Created a simple CE with repeating elements. Text and one/more image/s.
the Mask elements works fine in FE and BE.
exporting this element does not work:
the fluid template in BACKEND does NOT render the Image
fluid:
<f:for each="{processedRow.tx_testce_teaserboxen}" as="item">
<div>
<f:for each="{item.tx_testce_image}" as="file">
<f:image image="{file}" alt="{file.alternative}" title="{file.title}" width="200" /><br />
{file.description} / {file.identifier}<br />
</f:for>
<f:format.stripTags><f:format.crop maxCharacters="250">{item.tx_contenttmd_bodytext}</f:format.crop></f:format.stripTags>
</div>
This fails with a crash:
The argument "image" was registered with type "object", but is of type "array" in view helper "TYPO3\CMS\Fluid\ViewHelpers\ImageViewHelper"
Removing the <f:for each="{item.tx_testce_image}" as="file">...</f:for> works.
What ist the diefference of the MASK and the exported version?
Thank you for your help and/or fixing this issue.
using: T3 V8.7 and the latest export_mask from GIT
Christian
in TYPO3-mask_export/Classes/Aggregate/BackendPreviewAggregate.php
on line 140 there is missing Content/
but would be nice to have this userdefined aswell, but for now adding Content/
should work fine.
hi,
TYPO3 7.6.10
mask 2.0.1
when exporting a configuration named mask_example and installing it in a new project with mask already installed (both static templates mask and mask_example included), nothing happens.
i do not find my fce's or anything in the new project
TYPO3 8.7.1 or 8.7.4
Mask Export 0.9.1
Question 1:
When exporting a mask content element with a CONTENT Element, there is a class added:
typo3conf\ext\maskcont\Classes\Form\FormDataProvider\TcaColPosItem.php
in ext_localconf.php the following lines are added:
$GLOBALS['TYPO3_CONF_VARS']['SYS']['formEngine']['formDataGroup']['tcaDatabaseRecord'][\MASKCONT\Maskcont\Form\FormDataProvider\TcaColPosItem::class] = [
'depends' => [
\TYPO3\CMS\Backend\Form\FormDataProvider\DatabaseRowDefaultValues::class,
],
'before' => [
\TYPO3\CMS\Backend\Form\FormDataProvider\TcaSelectItems::class,
],
];
For me this doesn't work.
I get the error see screen below.
Question 2:
Why is this class only added when i use a CONTENT Element? In former version of mask_export, this class, which is necessary for the backend preview i guess, was also added when using a REPEATED Element.
btw: Where is the hook gone?
Hi Nicole,
it would be great to have three more fields in your code export for defining the Template- Partial- and LayoutPaths. For now I have to set them manually for each generated and exported content element. When I don't set them, the Layouts would be searched in a wrong path below ext_folder/Resources/Private/Templates/TtContent/Templates
my workaround is this:
tt_content.websitetemplate_calltoaction = FLUIDTEMPLATE
tt_content.websitetemplate_calltoaction {
layoutRootPath = {$styles.templates.layoutRootPath}
partialRootPath = {$styles.templates.partialRootPath}
templateRootPath = {$styles.templates.templateRootPath}
file = EXT:website_template/Resources/Private/Templates/TtContent/calltoaction.html
}
with having defined {$styles.templates.layoutRootPath}
in my constants. But I have to put those three lines manually into each Content element.
Well, would be great, to have this feature implemented - or any hint what I'm possibly doing wrong?
PHP Warning: ZipArchive::open(): Empty string as source in /Applications/XAMPP/xamppfiles/htdocs/list-engeneering/typo3conf/ext/mask_export/Classes/Controller/ExportController.php line 104
Hi there,
I have some content elements using the "content" field. Now, when I want to add some content, the list of possible nested content elements is quite too long and even shows those elements (like default TYPO3 elements) which are disabled by backend layout. I also don't want the editor to be able to nest the containers themselves. When choosing the allowed CTypes inside mask, the export seems to have a little bug: The container still lists all content elements. Also it sets the default selected content element to the first selected one (this behaviour is quite fine). But it seems to limit the allowed content types to this very first allowed CType. every other CType wont get rendered in FE.
Am I missing something?
If mor information should be provided, please let me know.
Thanks in advance for sour help
I'm working on an option to export defined fontawesome icons aswell.
Hi Nicole,
it would be great to have the extension key stored in the session or a cookie, rather than typing it all the time again.
After exporting the CE definitions as own extension and installing this extension you can not use any CEs which are created with the pure mask definition as there are a lot of places where the extension name is used. In mask you have mask_*
or tx_mask_*
, in the export you have your (unified) extension key.
this occurs for:
it would be nice to have a prepared update query which can change existing mask content to the new extension content.
Currently it is not possible to render inline fields by default. TypoScript dataProcessing is missing for the fields.
If you have a look into the edit form, you will see no CType icon is displayed. This is because mask_export content elements miss to define an icon in TCA ['tt_content']['columns']['CType']['config']['items'] configuration.
TYPO3 8
mask 3.0.1
mask_export 0.9.1
Nach dem Exportieren installiere ich die Extension.
Ich möchte ein neues Element erstellen und bekomme den Fehler wie oben.
Analog #106
Ich habe herausgefunden woran das liegt:
in TCA\Overrides\tt_content.php
wurde dieser code hier generiert:
<?php
$GLOBALS['TCA']['tt_content']['columns']['CType']['config']['items'][] = array(
'LLL:EXT:teste/Resources/Private/Language/locallang_db.xlf:tt_content.CType.div._teste_',
'--div--',
);
$tempTypes = array (
);
$GLOBALS['TCA']['tt_content']['types'] += $tempTypes;
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile(
'teste',
'Configuration/TypoScript/',
'teste'
);
Der ist jedoch nicht vollständig.
Wenn ich mir den vollständigen Code aus dem Backend (Reiter Code Export) hole, funktioniert es.
Warum wird der Code nicht richtig generiert?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.