
рдпрд╣ рдПрдХ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдкреЛрд╕реНрдЯ рдХрд╛ рджреВрд╕рд░рд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ рдЬреЛ рд╕реНрдХреЗрдЪ рдлрд╝рд╛рдЗрд▓ рд▓реЗ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╕рднреА рдЖрдЗрдХрди рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рд╛рд░реВрдкреЛрдВ рдореЗрдВ, рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП, рдкреНрд░рддреНрдпреЗрдХ рдЖрдЗрдХрди рдХреЗ рдПрдмреА рдкрд░реАрдХреНрд╖рдг рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд╕рд╛рде рдирд┐рд░реНрдпрд╛рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдЖрдк рдкреЛрд╕реНрдЯ рдХрд╛ рдкрд╣рд▓рд╛ рднрд╛рдЧ
рдпрд╣рд╛рдБ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред

рд╕реНрдХреЗрдЪ рдлрд╛рдЗрд▓реЗрдВ, рдПрдХрддреНрд░ рдХрд┐рдП рдЧрдП рд╕рднреА рдЖрдЗрдХрди, рд╕реНрдЯрд╛рдЗрд▓ рдФрд░ рдареАрдХ рд╕реЗ рдирд╛рдо рдХреЗ рд╕рд╛рде, рддреИрдпрд╛рд░ рдереЗред рдЕрдм рдХреЛрдб рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдерд╛ред
рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрд╣реБрдд рдкрд░реАрдХреНрд╖рдг рдФрд░ рддреНрд░реБрдЯрд┐ рдереА: рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХреЛрдб рдХреЛрд░ рдХреЗ рдмрд╛рдж, рдореЗрд░реА рдЯреАрдо рдХреЗ рдкреНрд░рдореБрдЦ
рдирд┐рдЦрд┐рд▓ рд╡рд░реНрдорд╛ (рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдиреАрдВрд╡ рд╕реНрдерд╛рдкрд┐рдд рдХреА) рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд, рдореИрдВ рдПрдХ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдЧреБрдЬрд╝рд░рд╛ рдЬрд┐рд╕реЗ рдХрдо рд╕реЗ рдХрдо рддреАрди рдЪрд░рдгреЛрдВ рдореЗрдВ рд░рд┐рдлреИрдХреНрдЯрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА рдФрд░ рдХрд╛рдлреА рдХреБрдЫ рд╕рдВрд╢реЛрдзрдиред рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ, рдореИрдВ рдЗрд╕ рдмрд╛рдд рдкрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдКрдВрдЧрд╛ рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдХреИрд╕реЗ рд╣реБрдЖ, рдмрд▓реНрдХрд┐ рдЗрд╕ рдмрд╛рдд рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрдЬ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ, рдЕрдкрдиреЗ рдЕрдВрддрд┐рдо рдЖрдХрд╛рд░ рдореЗрдВред
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдирд┐рд░реНрдорд╛рдг
рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ - Node.js рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ - рдЕрдкрдиреЗ рдкреНрд░рд╡рд╛рд╣ рдореЗрдВ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕реАрдзреА рд╣реИ: рдПрдХ рдмрд╛рд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╕реНрдХреЗрдЪ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕реВрдЪреА рдХреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ (рдмреНрд░рд╛рдВрдбреЛрдВ рдХреА рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдмреНрд░рд╛рдВрдб рдХреЗ рд▓рд┐рдП рдЙрд╕ рдмреНрд░рд╛рдВрдб рдХреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕реВрдЪреА) рдФрд░ рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рд╕реНрдХреЗрдЪ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмреНрд░рд╛рдВрдб рдХреЗ рд╕рд░рдгреА рдкрд░ рд▓реВрдк рдХрд░рддреА рд╣реИ, рдФрд░ рдЗрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЗрди рдЪрд░рдгреЛрдВ рдХреЛ рдЕрдиреБрдХреНрд░рдо рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ:
- рдмреНрд░рд╛рдВрдб рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ (рд╣рдореЗрдВ рд░рдВрдЧ рдореВрд▓реНрдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)
- рдмреНрд░рд╛рдВрдб рд╕реЗ рдЬреБрдбрд╝реА рд╕реНрдХреЗрдЪ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдХреНрд▓реЛрди рдХрд░реЗрдВ, рдЖрдВрддрд░рд┐рдХ JSON рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдЕрдирдЬрд╝рд┐рдк рдХрд░реЗрдВ, рдФрд░ рдЗрди JSON рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдЖрдВрддрд░рд┐рдХ рдореВрд▓реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдХреБрдЫ рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░реЗрдВ (рдЗрд╕ рдкрд░ рдмрд╛рдж рдореЗрдВ)
- рд╕реНрдХреЗрдЪ JSON рдлрд╝рд╛рдЗрд▓реЛрдВ ( document.json , meta.json рдФрд░ рдкреГрд╖реНрдареЛрдВ / pageUniqueID.json ) рд╕реЗ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдореЗрдЯрд╛-рдбреЗрдЯрд╛ рдкрдврд╝реЗрдВ; рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╣рдореЗрдВ рд╕рд╛рдЭрд╛ рд╢реИрд▓рд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдФрд░ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╕рдВрдкрддреНрддрд┐ / рдЖрдЗрдХрди рдХреА рд╕реВрдЪреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
- рд╕реНрдХреЗрдЪ JSON рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдХреБрдЫ рдФрд░ рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХреЗ рдмрд╛рдж, рдЙрдиреНрд╣реЗрдВ рдЬрд╝рд┐рдк рдХрд░реЗрдВ рдФрд░, (рдХреНрд▓реЛрди рдФрд░ рдЕрдкрдбреЗрдЯреЗрдб) рд╕реНрдХреЗрдЪ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рддреАрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ (iOS, Android, Mobile Web) рдХреЗ рд▓рд┐рдП рдЕрдВрддрд┐рдо рдЖрдЙрдЯрдкреБрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдФрд░ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ
рдЖрдк рдореБрдЦреНрдп рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рднрд╛рдЧреЛрдВ рдХреЛ рдпрд╣рд╛рдБ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:
// ... modules imports here const SKETCH_FILES = { badoo: ['icons_common'], blendr: ['icons_common', 'icons_blendr'], fiesta: ['icons_common', 'icons_fiesta'], hotornot: ['icons_common', 'icons_hotornot'], }; const SKETCH_FOLDER_PATH = path.resolve(__dirname, '../src/'); const SKETCH_TEMP_PATH = path.resolve(SKETCH_FOLDER_PATH, 'tmp'); const DESTINATION_PATH = path.resolve(__dirname, '../dist'); console.log('Build started...'); if (sketchtool.check()) { console.log(`Processing Sketch file via ${sketchtool.version()}`); build(); } else { console.info('You need Sketch installed to run this script'); process.exit(1); } // ---------------------------------------- function build() { // be sure to start with a blank slate del.sync([SKETCH_TEMP_PATH, DESTINATION_PATH]); // process all the brands declared in the list of Sketch files Object.keys(SKETCH_FILES).forEach(async (brand) => { // get the design tokens for the brand const brandTokens = getDesignTokens(brand); // prepare the Sketch files (unzipped) and get a list of them const sketchUnzipFolders = await prepareSketchFiles({ brand, sketchFileNames: SKETCH_FILES[brand], sketchFolder: SKETCH_FOLDER_PATH, sketchTempFolder: SKETCH_TEMP_PATH }); // get the Sketch metadata const sketchMetadata = getSketchMetadata(sketchUnzipFolders); const sketchDataSharedStyles = sketchMetadata.sharedStyles; const sketchDataAssets = sketchMetadata.assetsMetadata; generateAssetsPDF({ platform: 'ios', brand, brandTokens, sketchDataSharedStyles, sketchDataAssets }); generateAssetsSVGDynamicMobileWeb({ platform: 'mw', brand, brandTokens, sketchDataSharedStyles, sketchDataAssets }); generateAssetsVectorDrawableDynamicAndroid({ platform: 'android', brand, brandTokens, sketchDataSharedStyles, sketchDataAssets }); }); }
рджрд░рдЕрд╕рд▓, рдкреВрд░реЗ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЛрдб рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИ, рдФрд░ рдЬрдЯрд┐рд▓рддрд╛ рддреИрдпрд╛рд░
рд╣реИрд╕реИрдЯрдЪреЗрдХрдлрд╛рдЗрд▓реНрд╕ ,
рдЧреЗрдЯрд╕реНрдХреИрдЪрдореЗрдЯреЗрдЯрд╛ рдФрд░
рдЬреЗрдирд░реЗрдЯрд╕реЗрдЯреНрд╕ [рдкреНрд░рд╛рд░реВрдк] [рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо] рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИред рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдиреАрдЪреЗ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╕рдордЭрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред
рд╕реНрдХреЗрдЪ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рддреИрдпрд╛рд░ рдХрд░рдирд╛
рдмрд┐рд▓реНрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдкрд╣рд▓рд╛ рдХрджрдо рд╕реНрдХреЗрдЪ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рддреИрдпрд╛рд░реА рд╣реИ, рддрд╛рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдмрд╛рдж рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЗ рдирд┐рд░реНрдпрд╛рдд рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред
рдмреНрд░рд╛рдВрдб рд╕реЗ рдЬреБрдбрд╝реА рдлрд╛рдЗрд▓реЗрдВ - рдмреНрд▓реЗрдВрдбрд░ рдХреЗ рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдлрд╛рдЗрд▓реЗрдВ
icons_common.sketch рдФрд░
icons_blendr.sketch - рд╢реБрд░реВ рдореЗрдВ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХреНрд▓реЛрди рдХреА рдЬрд╛рддреА рд╣реИрдВ (рдЕрдзрд┐рдХ рд╕рдЯреАрдХ, рдмреНрд░рд╛рдВрдб рдХреЗ рдирд╛рдо рдкрд░ рдПрдХ рд╕рдмрдлрд╝реЛрд▓реНрдбрд░ рдЬрд┐рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ)ред
рдлрд┐рд░ рдЖрдВрддрд░рд┐рдХ JSON рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдПрдмреА рдкреНрд░реА рдЯреЗрд╕реНрдЯрд┐рдВрдЧ рд╕реЗ рдЧреБрдЬрд░рдиреЗ рд╡рд╛рд▓реА рдкрд░рд┐рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдореЗрдВ рдПрдХ рдЙрдкрд╕рд░реНрдЧ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдЬрдм рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рдП рддреЛ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╛рдо (рдкреНрд░рдпреЛрдЧ рдХрд╛ рдЕрдиреВрдард╛ рдирд╛рдо) рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдмрдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдХреМрди рд╕реА рд╕рдВрдкрддреНрддрд┐ рд╣реИ, рд╣рдо рдмрд╕ рдпрд╣
рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ рдХрд┐ рд╕реНрдХреЗрдЪ рдореЗрдВ рдЬрд┐рд╕ рдкреГрд╖реНрда рдореЗрдВ рдЙрдирдХрд╛ рдирд╛рдо рд╕рдВрдЧреНрд░рд╣рд┐рдд рд╣реИ рд╡рд╣
"XP_" рдХреЗ рд╕рд╛рде рдЙрдкрд╕рд░реНрдЧ рд╣реИред
рдкрд░рдд рдХреЗ рдирд╛рдореЛрдВ рдХреА рддреБрд▓рдирд╛, рд╕реНрдХреЗрдЪ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдЕрдВрджрд░, рдЕрдкрдбреЗрдЯ рд╕реЗ рдкрд╣рд▓реЗ рдФрд░ рдмрд╛рдж рдореЗрдВредрдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЬрдм рдирд┐рд░реНрдпрд╛рдд рдХреА рдЧрдИ рд╕рдВрдкрддреНрддрд┐рдпрд╛рдВ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо
"рдЖрдЗрдХрди-рдирд╛рдо [рд╕рдВрд╕реНрдХрд░рдг-рдирд╛рдо] .ext" рдХреЗ рд╕рд╛рде рд╕рдмрдлрд╝реЛрд▓реНрдбрд░
"this__is_an_experiment" рдореЗрдВ рд╕рд╣реЗрдЬреА
рдЬрд╛рдПрдВрдЧреА ред
рд╕реНрдХреЗрдЪ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдкрдврд╝рдирд╛
рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рджреВрд╕рд░рд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЪрд░рдг рд╕реНрдХреЗрдЪ рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдореЗрдЯрд╛-рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдирдХреА рдЖрдВрддрд░рд┐рдХ рдПрд▓рд╕рди рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗред рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпреЗ рдлрд╛рдЗрд▓реЗрдВ рджреЛ рдореБрдЦреНрдп рдлрд╛рдЗрд▓реЗрдВ (
document.json рдФрд░
meta.json ) рдФрд░ рдкреЗрдЬ рдлрд╛рдЗрд▓реЗрдВ (
рдкреЗрдЬ / pageUniqueId.json ) рд╣реИрдВред
Document.json рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд╛рдЭрд╛ рд╢реИрд▓рд┐рдпрд╛рдБ рдХреА рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐
рд▓реЗрдпрд░рд╕реЗрдВрдЯрд▓реНрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЗ рдЕрдВрддрд░реНрдЧрдд рджрд┐рдЦрд╛рдИ
рджреЗрддреА рд╣реИрдВ:
{ "_class": "document", "do_objectID": "45D2DA82-B3F4-49D1-A886-9530678D71DC", "colorSpace": 1, ... "layerStyles": { "_class": "sharedStyleContainer", "objects": [ { "_class": "sharedStyle", "do_objectID": "9BC39AAD-CDE6-4698-8EA5-689C3C942DB4", "name": "features/feature-like", "value": { "_class": "style", "fills": [ { "_class": "fill", "isEnabled": true, "color": { "_class": "color", "alpha": 1, "blue": 0.10588235408067703, "green": 0.4000000059604645, "red": 1 }, "fillType": 0, "noiseIndex": 0, "noiseIntensity": 0, "patternFillType": 1, "patternTileScale": 1 } ], "blur": {...}, "startMarkerType": 0, "endMarkerType": 0, "miterLimit": 10, "windingRule": 1 } }, ...
рдкреНрд░рддреНрдпреЗрдХ рд╢реИрд▓реА рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рдХреБрдВрдЬреА-рдореВрд▓реНрдп рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдХреБрдЫ рдмреБрдирд┐рдпрд╛рджреА рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд╛рдж рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рднреА рд╣рдореЗрдВ рдЗрд╕рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрдИрдбреА (рд╕реНрдХреЗрдЪ,
do_objectID рд╕рдВрдкрддреНрддрд┐) рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд┐рд╕реА рд╢реИрд▓реА рдХрд╛ рдирд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ:
const parsedSharedStyles = {}; parsedDocument.layerStyles.objects.forEach((object) => { parsedSharedStyles[object.do_objectID] = { name: object.name, isFill: _.get(object, 'value.fills[0].color') !== undefined, isBorder: _.get(object, 'value.borders[0].color') !== undefined, }; });
рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рд╣рдо рдкреГрд╖реНрдареЛрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
meta.json рдлрд╝рд╛рдЗрд▓ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╣рдореЗрдВ рдЙрдирдХреА
рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрдИрдбреА рдФрд░
рдирд╛рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ :
{ "commit": "623a23f2c4848acdbb1a38c2689e571eb73eb823", "pagesAndArtboards": { "EE6BE8D9-9FAD-4976-B0D8-AB33D2B5DBB7": { "name": "Icons", "artboards": { "3275987C-CE1B-4369-B789-06366EDA4C98": { "name": "badge-feature-like" }, "C6992142-8439-45E7-A346-FC35FA01440F": { "name": "badge-feature-crush" }, ... "7F58A1C4-D624-40E3-A8C6-6AF15FD0C32D": { "name": "tabbar-livestream" } ... } }, "ACF82F4E-4B92-4BE1-A31C-DDEB2E54D761": { "name": "XP_this__is_an_experiment", "artboards": { "31A812E8-D960-499F-A10F-C2006DDAEB65": { "name": "this__is_an_experiment/tabbar-livestream[variant1]" }, "20F03053-ED77-486B-9770-32E6BA73A0B8": { "name": "this__is_an_experiment/tabbar-livestream[variant2]" }, "801E65A4-3CC6-411B-B097-B1DBD33EC6CC": { "name": "this__is_an_experiment/tabbar-livestream[control]" } } },
рдлрд┐рд░, рд╣рд░ рдкреЗрдЬ рдХреЗ рд▓рд┐рдП рд╣рдо
рдкреЗрдЬ рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рддрд╣рдд рд╕рдВрдмрдВрдзрд┐рдд JSON рдлрд╛рдЗрд▓ рдХреЛ рдкрдврд╝рддреЗ рд╣реИрдВ (рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ, рдлрд╝рд╛рдЗрд▓ рдирд╛рдо
[pageUniqueId] .json ) рд╣реИ, рдФрд░ рд╣рдо рдЙрд╕ рдкреГрд╖реНрда рдореЗрдВ рдирд┐рд╣рд┐рдд рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рд╕реЗ рдЧреБрдЬрд░рддреЗ рд╣реИрдВ (рд╡реЗ рдкрд░рддреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ)ред рдЗрд╕ рддрд░рд╣, рд╣рд░ рдЖрдЗрдХрди рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдЙрд╕рдХрд╛ рдирд╛рдо, рдЙрд╕рдХреА рдЪреМрдбрд╝рд╛рдИ / рдКрдБрдЪрд╛рдИ, рдЙрд╕ рд▓реЗрдпрд░ рдЖрдЗрдХрди рдХреЗ рд▓рд┐рдП рд╕реНрдХреЗрдЪ рдореЗрдЯрд╛-рдбреЗрдЯрд╛, рдФрд░ рдпрджрд┐ рд╡рд╣ рдХрд┐рд╕реА рдкреНрд░рдпреЛрдЧ рдкреГрд╖реНрда рдкрд░ рд╣реИ, рддреЛ рдкреНрд░рд╢реНрди рдореЗрдВ AB рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдирд╛рдо, рдФрд░ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдирд╛рдо рдЙрд╕ рдЖрдЗрдХрди рдХреЗ рд▓рд┐рдПред
рд╕реВрдЪрдирд╛ : "page.json" рдСрдмреНрдЬреЗрдХреНрдЯ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдпрд╣рд╛рдВ рдирд╣реАрдВ рдЬрд╛рдКрдВрдЧрд╛ред рдпрджрд┐ рдЖрдк рдЙрддреНрд╕реБрдХ рд╣реИрдВ рдФрд░ рдпрд╣ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдЖрдкрдХреЛ рдПрдХ рдирдпрд╛, рд░рд┐рдХреНрдд рд╕реНрдХреЗрдЪ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ, рдЗрд╕рдореЗрдВ рдХреБрдЫ рд╕рд╛рдордЧреНрд░реА рдЬреЛрдбрд╝реЗрдВ, рдФрд░ рдЗрд╕реЗ рд╕рд╣реЗрдЬреЗрдВ; рдлрд┐рд░ рдЬрд╝рд┐рдк рдореЗрдВ рдЗрд╕рдХреЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдирд╛рдо рдмрджрд▓реЗрдВ, рдЗрд╕реЗ рдЕрдирдЬрд╝рд┐рдк рдХрд░реЗрдВ рдФрд░ "рдкреЗрдЬ" рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рддрд╣рдд рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рджреЗрдЦреЗрдВред
рдЖрд░реНрдЯрдмреЛрд░реНрдб рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╕рдордп, рд╣рдо рдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рднреА рдмрдирд╛рддреЗ рд╣реИрдВ (рдЙрдирдХреА рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде) рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд╛рдж рдореЗрдВ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рдХреМрди рд╕реЗ рдЖрдЗрдХрди рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХрд┐рд╕ рдкреНрд░рдпреЛрдЧ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдХрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдирд╛рдо "рдЖрдЗрдХрди рдмреЗрд╕" рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдХрд░ред
рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдХреЗрдЪ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдмреНрд░рд╛рдВрдб рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рд╣рдо рдПрдХ
рд╕рдВрдкрддреНрддрд┐рдорд╛рддрд╛рдЯрд╛рдЯрд╛ рд╡рд╕реНрддреБ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
{ "navigation-bar-edit": { "do_objectID": "86321895-37CE-4B3B-9AA6-6838BEDB0977", ...sketch_artboard_properties, "name": "navigation-bar-edit", "assetname": "navigation-bar-edit", "source": "icons_common", "width": 48, "height": 48 "layers": [ { "do_objectID": "A15FA03C-DEA6-4732-9F85-CA0412A57DF4", "name": "Path", ...sketch_layer_properties, "sharedStyleID": "6A3C0FEE-C8A3-4629-AC48-4FC6005796F5", "style": { ... "fills": [ { "_class": "fill", "isEnabled": true, "color": { "_class": "color", "alpha": 1, "blue": 0.8784313725490196, "green": 0.8784313725490196, "red": 0.8784313725490196 }, } ], "miterLimit": 10, "startMarkerType": 0, "windingRule": 1 }, }, ], ... }, "experiment-name/navigation-bar-edit[variant]": { "do_objectID": "00C0A829-D8ED-4E62-8346-E7EFBC04A7C7", ...sketch_artboard_properties, "name": "experiment-name/navigation-bar-edit[variant]", "assetname": "navigation-bar-edit", "source": "icons_common", "width": 48, "height": 48 ...
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдПрдХ рд╣реА "рдЖрдЗрдХрди" (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ
рдиреЗрд╡рд┐рдЧреЗрд╢рди-рдмрд╛рд░-рдПрдбрд┐рдЯ ) рдХреЗ рдкрд╛рд╕ рдХрдИ "рд╕рдВрдкрддреНрддрд┐" рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рд╛рдеред рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рдЖрдЗрдХрди рдмреНрд░рд╛рдВрдб рд╕реЗ рдЬреБрдбрд╝реА рджреВрд╕рд░реА рд╕реНрдХреЗрдЪ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рд╣реА рдирд╛рдо рдХреЗ рд╕рд╛рде рджрд┐рдЦрд╛рдИ рджреЗ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИ: рдпрд╣ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдЪрд╛рд▓ рд╣реИ, рдЬреЛ рдЖрдЗрдХрди рдХреЗ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕реЗрдЯ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдлрд┐рд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рднрд┐рдиреНрди рдЖрдЗрдХрди рд╡реЗрд░рд┐рдПрдВрдЯ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рдмреНрд░рд╛рдВрдбред
рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рд╢реЗрд╖ рдмреНрд░рд╛рдВрдб рд╕реЗ рдЬреБрдбрд╝реА рд╕реНрдХреЗрдЪ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдПрдХ рд╕рд░рдгреА рдХреЗ рд░реВрдк рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛:
const SKETCH_FILES = { badoo: ['icons_common'], blendr: ['icons_common', 'icons_blendr'], fiesta: ['icons_common', 'icons_fiesta'], hotornot: ['icons_common', 'icons_hotornot'], };
рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрджреЗрд╢ рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ
getSketchMetadata , рдЬрд┐рд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдорд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣рдо рдПрдХ рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВ
рд╕рдВрдкрддреНрддрд┐рдорд╛рддрд╛рдЯрд╛рдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ (рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдПрдХ) рдирд╣реАрдВ рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЧрд╣рд░рд╛ рдорд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ, рдПрдХ рджреВрд╕рд░реЗ рдореЗрдВ, рдФрд░ рдлрд┐рд░ рд╣рдо рдХрд┐рд╕реА рдПрдХрд▓ рдорд░реНрдЬ рдХреА рдЧрдИ
рд╕рдВрдкрддреНрддрд┐ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░реЗрдВред
рдпрд╣ рд╕реНрдХреЗрдЪ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ "рддрд╛рд░реНрдХрд┐рдХ" рдорд░реНрдЬ, рдФрд░ рдЙрдирдХреА рд╕рдВрдкрддреНрддрд┐, рдПрдХ рдПрдХрд▓ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХ рдХреБрдЫ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рддрд░реНрдХ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрддрдирд╛ рд╕рд░рд▓ рдирд╣реАрдВ рд╣реИ рдЬрд┐рддрдирд╛ рджрд┐рдЦрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рд╡рд╣ рд╕реНрдХреАрдорд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдореЗрдВ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдирд╛ рд╣реИ рдХрд┐ рдЬрдм рдПрдХ рд╣реА рдмреНрд░рд╛рдВрдб рд╕реЗ рдЬреБрдбрд╝реА рд╡рд┐рднрд┐рдиреНрди рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдПрдХ рд╣реА рдирд╛рдо (рд╕рдВрднрд╡рддрдГ рдПрдмреА рдкрд░реАрдХреНрд╖рдг рдХреЗ рддрд╣рдд) рдХреЗ рд╕рд╛рде рдЖрдЗрдХрди рд╣реЛрддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ:
рдПрдХ рд╣реА рдЖрдЗрдХрди рдХреЗ "рдУрд╡рд░рд░рд╛рдЗрдбрд┐рдВрдЧ" рдХрд╛ рддрд╛рд░реНрдХрд┐рдХ рд╕реНрдХреАрдорд╛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рдлреЗрдж-рд▓реЗрдмрд▓ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП рдЖрдЗрдХрди рдФрд░ рдЖрдЗрдХрди рдХреЗ рдПрдХ рдЖрдо / рд╕рд╛рдЭрд╛ рд╕реЗрдЯ рдХреЗ рдмреАрдЪ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдПрдмреА рдкрд░реАрдХреНрд╖рдг рдХреЗ рдорд╛рдорд▓реЗ рдкрд░ рднреА рд╡рд┐рдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИ)рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рд╕реНрд╡рд░реВрдкреЛрдВ рдореЗрдВ рдЕрдВрддрд┐рдо рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг
рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЕрдВрддрд┐рдо рдЪрд░рдг рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рд╛рд░реВрдкреЛрдВ (рдЖрдИрдУрдПрд╕ рдХреЗ рд▓рд┐рдП рдкреАрдбреАрдПрдл, рдПрд╕рд╡реАрдЬреА / рдЬреЗрдПрд╕рдПрдХреНрд╕ рд╡реЗрдм рдХреЗ рд▓рд┐рдП рдкреАрдбреАрдПрдл, рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рд╡реЗрдХреНрдЯрд░рдбреНрд░рд╛рд╡реЗрдмрд▓) рдХреЗ рд╕рд╛рде рдЖрдЗрдХрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреАрдврд╝реА рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдлрд╝рдВрдХреНрд╢рди
рдЬрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ
[рдкреНрд░рд╛рд░реВрдк] [рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо] рдпрд╣ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХрд╛ рд╕рдмрд╕реЗ рдЬрдЯрд┐рд▓ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред рдпрд╣рд╛рдВ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП
рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╡рд┐рднрд╛рдЬрд┐рдд рдФрд░ рдореЛрдбрд╝рдирд╛ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ ред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдкреВрд░реНрдг рддрд╛рд░реНрдХрд┐рдХ рдкреНрд░рд╡рд╛рд╣ рдХреЗ рдиреАрдЪреЗ рджреЗрдЦреЗрдВ, рдФрд░ рд╕рдВрдкрддреНрддрд┐ рдХреА рдкреАрдврд╝реА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рднрд╛рдЧ
рддреАрди рд╕рдорд╛рди рд▓реЗрдХрд┐рди рдЧреИрд░-рд╕рдорд╛рди рдкреНрд░рд╡рд╛рд╣ рдореЗрдВ рдХреИрд╕реЗ
рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реЛрддрд╛ рд╣реИ:
рд╕рдВрд╕рд╛рдзрд┐рдд рдХреА рдЬрд╛ рд░рд╣реА рдмреНрд░рд╛рдВрдб рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реЗ рд╕рд╣реА рд░рдВрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдВрддрд┐рдо рд╕рдВрдкрддреНрддрд┐ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рд╕реНрдХреЗрдЪ JSON рдлрд╝рд╛рдЗрд▓реЛрдВ рдкрд░ рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХрд╛ рдПрдХ рдФрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдкрд░рдд рдкрд░ рдкреБрдирд░рд╛рд╡реГрддреНрдд рд▓реВрдк рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╕рд╛рдЭрд╛ рд╢реИрд▓реА рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИ, рдФрд░ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддреА рд╣реИ рдмреНрд░рд╛рдВрдб рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рдЯреЛрдХрди рд╕реЗ рд░рдВрдЧреЛрдВ рдХреЗ рд╕рд╛рде рд░рдВрдЧ рдореВрд▓реНрдпред
рдПрдВрдбреНрд░реЙрдЗрдб рдкреАрдврд╝реА рдХреЗ рд▓рд┐рдП, рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╣реЗрд░рдлреЗрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдмрд╛рдж рдореЗрдВ рдЗрд╕ рдкрд░ рдЕрдзрд┐рдХ): рд╣рдо рд╣рд░ рдкрд░рдд рдХреА рднрд░рдг-рдирд┐рдпрдо рд╕рдВрдкрддреНрддрд┐ рдХреЛ
рд╕рдо-рд╡рд┐рд╖рдо рд╕реЗ
рдЧреИрд░-рд╢реВрдиреНрдп рдореЗрдВ рдмрджрд▓ рджреЗрддреЗ рд╣реИрдВ (рдпрд╣ JSON рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ "рд╡рд┐рдВрдбрд░рд┐рдВрдЧ" рд╕рдВрдкрддреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ " 1 "рдХрд╛ рдЕрд░реНрде рд╣реИ" рд╕рдо-рд╡рд┐рд╖рдо "рдФрд░" 0 "рдХрд╛ рдЕрд░реНрде рд╣реИ" рдЧреИрд░-рд╢реВрдиреНрдп ")ред
рдЗрди рдЬреЛрдбрд╝рддреЛрдбрд╝реЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рд╕реНрдХреЗрдЪ JSON рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдПрдХ рдорд╛рдирдХ рд╕реНрдХреЗрдЪ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдХреБрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рдЗрд╕реЗ рдЕрджреНрдпрддрди рдЧреБрдгреЛрдВ рдХреЗ рд╕рд╛рде рдкрд░рд┐рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ (рдХреНрд▓реЛрди рдФрд░ рдЕрдкрдбреЗрдЯ рдХреА рдЧрдИ рдлрд╛рдЗрд▓реЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдХреЗрдЪ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реИрдВ: рдЗрдиреНрд╣реЗрдВ рд╕реНрдХреЗрдЪ рдореЗрдВ рдЦреЛрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред , рджреЗрдЦрд╛, рд╕рдВрдкрд╛рджрд┐рдд, рд╕рд╣реЗрдЬрд╛ рдЧрдпрд╛, рдЖрджрд┐)ред
рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рд╣рдо рд╕реНрдХреЗрдЪрдЯреВрд▓ (
рдПрдХ рдиреЛрдб рдЖрд╡рд░рдг рдореЗрдВ ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрд╡рд░реВрдкреЛрдВ рдореЗрдВ рд╕рднреА рдкрд░рд┐рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХрд╛ рдирд┐рд░реНрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХрд┐рд╕реА рдмреНрд░рд╛рдВрдб рд╕реЗ рдЬреБрдбрд╝реА рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП (рдЕрдзрд┐рдХ рд╕рд╣реА рдврдВрдЧ рд╕реЗ, рдЗрд╕рдХреЗ рдХреНрд▓реЛрди рдФрд░ рдЕрдкрдбреЗрдЯреЗрдб рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП) рд╣рдо рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рдЪрд▓рд╛рддреЗ рд╣реИрдВ:
sketchtool.run(`export slices ${cloneSketchFile} --formats=svg <i>--scales=1 </i>--output=${destinationFolder} --overwriting`);
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдХрдорд╛рдВрдб рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХрд╛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рддрд╛ рд╣реИ, рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ (рдЕрднреА рдХреЗ рд▓рд┐рдП рд╣рдо рд╣рдореЗрд╢рд╛ рдореВрд▓ рдкреИрдорд╛рдиреЗ рдкрд░ рд░рдЦрддреЗ рд╣реИрдВ), рдПрдХ рдЧрдВрддрд╡реНрдп рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВред
-рдУрд╡рд░рд░рд╛рдЗрдЯрд┐рдВрдЧ рд╡рд┐рдХрд▓реНрдк рдпрд╣рд╛рдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ: рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдЬрдм рд╣рдо рдПрд╕реЗрдЯрдореИрдЯреЗрдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ "рдбреАрдк рдорд░реНрдЬ" рдХрд░рддреЗ рд╣реИрдВ (рдЬреЛ рд╕реНрдХреЗрдЪ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ "рд▓реЙрдЬрд┐рдХрд▓ рдорд░реНрдЬ" рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрддрд╛ рд╣реИ), рдЬрдм рд╣рдо рдПрдХреНрд╕рдкреЛрд░реНрдЯ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╣рдо рдЗрд╕реЗ рдХрдИ рдлрд╛рдЗрд▓реЛрдВ рд╕реЗ рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рд╣реА рдлрд╝реЛрд▓реНрдбрд░ (рдЕрджреНрд╡рд┐рддреАрдп рдкреНрд░рддрд┐ рдмреНрд░рд╛рдВрдб / рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо)ред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдПрдХ рдкрд░рд┐рд╕рдВрдкрддреНрддрд┐ - рдЬрд┐рд╕реЗ рдЗрд╕рдХреЗ рдкрд░рдд рдирд╛рдо рд╕реЗ рдкрд╣рдЪрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ - рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдкрд┐рдЫрд▓реЗ рд╕реНрдХреЗрдЪ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдореМрдЬреВрдж рд╣реИ, рддреЛ рдЗрд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рд░реНрдпрд╛рдд рджреНрд╡рд╛рд░рд╛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЬреЛ, рдлрд┐рд░ рд╕реЗ, рдПрдХ "рдорд░реНрдЬ" рдСрдкрд░реЗрд╢рди рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдХреБрдЫ рдирд╣реАрдВ рд╣реИред
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреБрдЫ рд╕рдВрдкрддреНрддрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ рдЬреЛ "рднреВрдд" рд╣реИрдВред рдРрд╕рд╛ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдПрдХ рдЖрдЗрдХрди рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдмреА-рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╛рдж рдХреА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд╡реИрд░рд┐рдПрдВрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЧрдВрддрд╡реНрдп рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ
рдПрд╕реЗрдЯрдореИрдЯрдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдПрд╕реЗрдЯ (рдЗрд╕рдХреА рдХреБрдВрдЬреА рдФрд░ рдЧреБрдг рдХреЗ рд╕рд╛рде) рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА "рдЖрдзрд╛рд░" рдПрд╕реЗрдЯ рд╕реЗ рдирд╣реАрдВ рдЬреБрдбрд╝реЗ рд╣реЛрддреЗ рд╣реИрдВ (
рдПрд╕реЗрдЯрдореЗрдЯреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рдЧрд╣рд░реЗ рд╡рд┐рд▓рдп рдХреЗ рдХрд╛рд░рдг)ред рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрд╛рдж рдХреЗ рдЪрд░рдг рдореЗрдВ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╣рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЕрдВрддрд┐рдо рд╕реНрд╡рд░реВрдкреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред IOS рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдкреАрдбреАрдПрдл рдлрд╛рдЗрд▓реЗрдВ рдЪрд╛рд╣рд┐рдП, рдФрд░ рд╣рдо рдЙрдиреНрд╣реЗрдВ рд╕реАрдзреЗ
рд╕реНрдХреЗрдЪрдЯреВрд▓ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдирд┐рд░реНрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЬрдмрдХрд┐, рдореЛрдмрд╛рдЗрд▓ рд╡реЗрдм рдХреЗ рд▓рд┐рдП рд╣рдо JSX рдлрд╛рдЗрд▓реЗрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ Android рдХреЗ рд▓рд┐рдП рд╣рдо рд╡реЗрдХреНрдЯрд░рдбреНрд░рд╛рдПрдмрд▓ рдлрд╛рдЗрд▓реЗрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ; рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ рд╣рдо рдПрд╕рд╡реАрдЬреА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЛ рдПрдХ рдордзреНрдпрд╡рд░реНрддреА рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдЖрдЧреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЕрдзреАрди рдХрд░рддреЗ рд╣реИрдВред
IOS рдХреЗ рд▓рд┐рдП рдкреАрдбреАрдПрдл рдлрд╛рдЗрд▓реЗрдВ
рдЕрдЬреАрдм рддрд░рд╣ рд╕реЗ, рдкреАрдбреАрдПрдл (рдХреЗрд╡рд▓?) рд╡реЗрдХреНрдЯрд░ рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреЗ рдЖрдпрд╛рдд рдФрд░ рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЗ рд▓рд┐рдП Xcode рдФрд░ OS / iOS рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдкреНрд░рд╛рд░реВрдк рд╣реИ (
рдпрд╣рд╛рдВ Apple рджреНрд╡рд╛рд░рд╛ рдЗрд╕ рдкрд╕рдВрдж рдХреЗ рдкреАрдЫреЗ рддрдХрдиреАрдХреА рдХрд╛рд░рдгреЛрдВ рдХрд╛
рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд┐рд╡рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред
рдЪреВрдВрдХрд┐ рд╣рдо рд╕реНрдХреЗрдЪрдЯреВрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реАрдзреЗ рдкреАрдбреАрдПрдл рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдЪрд░рдгреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ: рд╣рдо рдмрд╕ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реАрдзреЗ рдЧрдВрддрд╡реНрдп рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣реА рд╣реИред
рд╡реЗрдм рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ / JSX рдлрд╝рд╛рдЗрд▓реЗрдВ
рд╡реЗрдм рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо
svgr рдирд╛рдордХ рдПрдХ рдиреЛрдб рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╕рд╛рджреЗ рдПрд╕рд╡реАрдЬреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд░рд┐рдПрдХреНрдЯ рдШрдЯрдХреЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддреА рд╣реИред рд▓реЗрдХрд┐рди рд╣рдо рдХреБрдЫ рдФрд░ рднреА рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ: рд╣рдо рд░рдирдЯрд╛рдЗрдо рдкрд░ рдЖрдЗрдХрди рдХреЛ "рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдкреЗрдВрдЯ" рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдбрд┐рдЬрд╛рдЗрди рдХреЗ рдЯреЛрдХрди рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд░рдВрдЧреЛрдВ рдХреЗ рд╕рд╛рдеред рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ, рд░реВрдкрд╛рдВрддрд░рдг рд╕реЗ рдареАрдХ рдкрд╣рд▓реЗ, рд╣рдо рдПрд╕рд╡реАрдЬреА рдореЗрдВ рдЙрди рд░рд╛рд╕реНрддреЛрдВ рдХреЗ
рднрд░рд╛рд╡ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХ рд╕рд╛рдЭрд╛ рд╢реИрд▓реА рд▓рд╛рдЧреВ рдереЗ, рдЙрд╕ рд╢реИрд▓реА рдХреЗ рд╕рд╛рде рд╕рдВрдмрдВрдзрд┐рдд рдЯреЛрдХрди рдореВрд▓реНрдп рдХреЗ рд╕рд╛рдеред
рддреЛ, рдЕрдЧрд░ рдпрд╣ рдлрд╝рд╛рдЗрд▓
рдмреИрдЬ-рдлрд╝реАрдЪрд░-рдЬреИрд╕реЗ ред рд╕реНрдХреЗрдЪ рд╕реЗ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдпрд╛ рдЧрдпрд╛:
<?xml version="1.0" encoding="UTF-8"?> <svg width="128px" height="128px" viewBox="0 0 128 128" version="1.1" xmlns="<a href="http://www.w3.org/2000/svg">http://www.w3.org/2000/svg</a>" xmlns:xlink="<a href="http://www.w3.org/1999/xlink">http://www.w3.org/1999/xlink</a>"> <!-- Generator: sketchtool 52.2 (67145) - <a href="http://www.bohemiancoding.com/sketch">http://www.bohemiancoding.com/sketch</a> --> <title>badge-feature-like</title> <desc>Created with sketchtool.</desc> <g id="Icons" fill="none" fill-rule="evenodd"> <g id="badge-feature-like"> <circle id="circle" fill="#E71032" cx="64" cy="64" r="64"> <path id="Shape" fill="#FFFFFF" d="M80.4061668,..."></path> </g> </g> </svg>
рдЕрдВрддрд┐рдо
рдмреИрдЬ-рдлреАрдЪрд░- like.js рд╕рдВрдкрддреНрддрд┐ / рдЖрдЗрдХрди рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛:
/* This file is generated automatically - DO NOT EDIT */ /* eslint-disable max-lines,max-len,camelcase */ const React = require('react'); module.exports = function badge_feature_like({ tokens }) { return ( <svg data-origin="pipeline" viewBox="0 0 128 128"> <g fill="none" fillRule="evenodd"> <circle fill={tokens.TOKEN_COLOR_FEATURE_LIKED_YOU} cx={64} cy={64} r={64} /> <path fill="#FFF" d="M80.4061668,..." /> </g> </svg> ); };
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдордиреЗ рдПрдХ рдЧрддрд┐рд╢реАрд▓ рдПрдХ рдХреЗ рд╕рд╛рде, рд╕рд░реНрдХрд▓ рдХреЗ
рднрд░рдг рд░рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕реНрдереИрддрд┐рдХ рдореВрд▓реНрдп рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ, рдЬреЛ рдбрд┐рдЬрд╝рд╛рдЗрди рдЯреЛрдХрди рд╕реЗ рдЗрд╕рдХрд╛ рдореВрд▓реНрдп рд▓реЗрддрд╛ рд╣реИ (рдпреЗ рд╕рдВрджрд░реНрдн
<Icon /> рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдЯреЗрдХреНрдЯ рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛) рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдФрд░ рдХрд╣рд╛рдиреА рд╣реИ)ред
рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдкрд░рд┐рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд▓рд┐рдП рд╕реНрдХреЗрдЪ рдореЗрдЯрд╛-рдбреЗрдЯрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдпрд╣ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╕рдВрднрд╡ рд╣реИ: рд╕рдВрдкрддреНрддрд┐ рдХреА рдкрд░рддреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреБрди: рд▓реВрдкрд┐рдВрдЧ, рдПрдХ рдбреЛрдо рдЪрдпрдирдХрд░реНрддрд╛ рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИ (рдЙрдкрд░реЛрдХреНрдд рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣
#Ic # рдмреИрдЬ-рдлреАрдЪрд░ рд╣реЛрдЧрд╛) #circle рдХреА рддрд░рд╣ ) рдФрд░ SVG рдЯреНрд░реА рдореЗрдВ рдиреЛрдб рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдФрд░ рдЗрд╕рдХреА
рднрд░рд╛рд╡ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рдореВрд▓реНрдп рдХреЛ рдмрджрд▓реЗрдВ (рдЗрд╕ рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рд╣рдо
рдЪреАрдпрд░рд┐рдпреЛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ)ред
Android рдХреЗ рд▓рд┐рдП VectorDrawable рдлрд╝рд╛рдЗрд▓реЗрдВ
рдПрдВрдбреНрд░реЙрдЗрдб рдЕрдкрдиреЗ рдХрд╕реНрдЯрдо рд╡реЗрдХреНрдЯрд░ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реЗрдХреНрдЯрд░ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ
рд╡реЗрдХреНрдЯрд░рдбреНрд░рд╛рдЗрд╡ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдорддреМрд░ рдкрд░ рдПрд╕рд╡реАрдЬреА рд╕реЗ рд╡реЗрдХреНрдЯрд░рдбреНрд░рд╛рдЗрд╡ рдореЗрдВ рд░реВрдкрд╛рдВрддрд░рдг
рд╕реАрдзреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛
рдПрдВрдбреНрд░реЙрдЗрдб рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рднреАрддрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рд╣рдо рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдХреЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдмрджрд▓рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдЦреЛрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред
рд╡рд┐рднрд┐рдиреНрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдФрд░ рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдордиреЗ
svg2vectordrawable рдирд╛рдордХ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рди рдХреЗрд╡рд▓ рдЗрд╕реЗ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдмрдирд╛рдП рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдХрдо рд╕реЗ рдХрдо, рдЬреЛ рд╣рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИ рдЙрд╕рд╕реЗ рдмреЗрд╣рддрд░) рд▓реЗрдХрд┐рди рдпрд╣ рднреА рдЕрдзрд┐рдХ рдкреВрд░реНрдг рд╣реИред
рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рд╡реЗрдХреНрдЯрд░рдбреНрд░рд╛рдПрдмрд▓ рдПрд╕рд╡реАрдЬреА рдХреЗ рд╕рд╛рде рдлрд╝реАрдЪрд░ рд╕рдорд╛рдирддрд╛ рдореЗрдВ рдирд╣реАрдВ рд╣реИ: рдПрд╕рд╡реАрдЬреА рдХреА рдХреБрдЫ рдЙрдиреНрдирдд рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ (рдЬреИрд╕реЗ рд░реЗрдбрд┐рдпрд▓ рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ, рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕ рдорд╛рд╕реНрдХ, рдЖрджрд┐)
рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╕рдорд░реНрдерди рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рд╣реИ (рдПрдВрдбреНрд░реЙрдЗрдб рдПрдкреАрдЖрдИ 24 рдХреЗ рд╕рд╛рде) рдЕрдзрд┐рдХ)ред рдЗрд╕рдХрд╛ рдПрдХ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрд╣рд▓реВ рдпрд╣ рд╣реИ рдХрд┐ рдПрдВрдбреНрд░реЙрдЗрдб рдкреНрд░реА -24
рдореЗрдВ "рд╕рдо-рд╡рд┐рд╖рдо" рднрд░рдг-рдирд┐рдпрдо рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ ред рд▓реЗрдХрд┐рди Badoo рдореЗрдВ рд╣рдореЗрдВ Android 5 рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рд╕реНрдХреЗрдЪ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╣рд░ рдкрде рдХреЛ "рдЧреИрд░-рд╢реВрдиреНрдп" рднрд░рдг рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ, рдбрд┐рдЬрд╛рдЗрдирд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

рд▓реЗрдХрд┐рди рдпрд╣ рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдирджреЗрдЦреА рд╣реЛ рд╕рдХрддреА рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдорд╛рдирд╡-рддреНрд░реБрдЯрд┐ рдХрд╛ рдЦрддрд░рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ, рд╣рдордиреЗ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдЪрд░рдг рдЬреЛрдбрд╝рд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╣рдо рд╕реНрдХреЗрдЪ JSON рдореЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рднреА рд░рд╛рд╕реНрддреЛрдВ рдХреЛ
рдЧреИрд░-рд╢реВрдиреНрдп рдореЗрдВ рдмрджрд▓ рджреЗрддреЗ рд╣реИрдВред рдРрд╕рд╛ рддрдм рд╣реИ рдЬрдм рд╣рдо рдЖрдЗрдХрди рдХреЛ рдПрд╕рд╡реАрдЬреА рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╣реИрдВ, рдФрд░ рдЙрддреНрдкрдиреНрди рдкреНрд░рддреНрдпреЗрдХ рд╡реЗрдХреНрдЯрд░рдбреНрд░рд╛рдЗрд╡ рднреА рдПрдВрдбреНрд░реЙрдЗрдб 5 рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реИред
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЕрдВрддрд┐рдо
рдмреИрдЬ-рдлреАрдЪрд░-like.xml рдлрд╝рд╛рдЗрд▓ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
<!-- This file is generated automatically - DO NOT EDIT --> <vector xmlns:android="<a href="http://schemas.android.com/apk/res/android">http://schemas.android.com/apk/res/android</a>" android:width="128dp" android:height="128dp" android:viewportWidth="128" android:viewportHeight="128"> <path android:fillColor="?color_feature_liked_you" android:pathData="M64 1a63 63 0 1 0 0 126A63 63 0 1 0 64 1z" /> <path android:fillColor="#FFFFFF" android:pathData="M80.406 ..." /> </vector>
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╡реЗрдХреНрдЯрд░рдбреНрд░реЙрдмрд▓ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рднреА рд╣рдо
рднрд░рдиреЗ рд╡рд╛рд▓реЗ рд░рдВрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЪрд░ рдирд╛рдореЛрдВ рдХреЛ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдПрдВрдбреНрд░реЙрдЗрдб рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдХрд╕реНрдЯрдо рд╢реИрд▓рд┐рдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдЯреЛрдХрди рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реИрдВред
Android Studio рдореЗрдВ рдЖрдпрд╛рдд рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рд╡реЗрдХреНрдЯрд░рдбреНрд░рд╛рд╡рдмрд▓ рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:
Android Studio рдореЗрдВ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╡реЗрдХреНрдЯрд░рдбреНрд░рд╛рдЗрд╡ рдЖрдЗрдХрди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдгрдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рдмрд╛рдд рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ: рдПрдВрдбреНрд░реЙрдЗрдб рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рдкрд╛рд╕ рд╕рдВрдкрддреНрддрд┐ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдмрд╣реБрдд рд╕рдЦреНрдд рдФрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рддрд░реАрдХрд╛ рд╣реИ: рдХреЛрдИ рдиреЗрд╕реНрдЯреЗрдб рдлрд╝реЛрд▓реНрдбрд░ рдФрд░ рд╕рднреА рд▓реЛрдЕрд░рдХреЗрд╕ рдирд╛рдо! рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЙрдирдХреЗ рдЖрдЗрдХрдиреЛрдВ рдХреЗ рдирд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рдкреНрд░рд╛рд░реВрдк рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛: рдкреНрд░рдпреЛрдЧ рдХреЗ рддрд╣рдд рдПрдХ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрд╕рдХрд╛ рдирд╛рдо
ic_icon-name__experiment-name__variant-name рдЬреИрд╕рд╛ рдХреБрдЫ рд╣реЛрдЧрд╛ред
JSON рд╕рдВрдкрддреНрддрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд░реВрдк рдореЗрдВ
рдПрдХ рдмрд╛рд░ рдкрд░рд┐рд╕рдВрдкрддреНрддрд┐ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЙрдирдХреЗ рдЕрдВрддрд┐рдо рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рдмрд╛рдж, рдЕрдВрддрд┐рдо рдХрд╛рд░реНрдп рдЬреЛ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдмрд╛рдХреА рд╣реИ, рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рдПрдХрддреНрд░ рдХреА рдЧрдИ рд╕рднреА рдореЗрдЯрд╛-рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕рд╣реЗрдЬрдирд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ "рд╢рдмреНрджрдХреЛрд╢" рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ рд╣реИ, рддрд╛рдХрд┐ рдЗрд╕реЗ рдмрд╛рдж рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдЬрдм рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рдХреЛрдбрдмреЗрд╕ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдкрддреНрддрд┐ рдЖрдпрд╛рдд рдФрд░ рдЦрдкрдд рдХреА рдЬрд╛рддреА рд╣реИред
рдЖрдЗрд╕реЗрдЯрдорд╛рдЯрд╛рдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рдЖрдЗрдХрдиреЛрдВ рдХреА рдлреНрд▓реИрдЯ рд╕реВрдЪреА рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдЙрд╕ рдкрд░ рд▓реВрдк рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдЖрдЗрдЯрдо рдХреА рд╣рдо рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ:
- рдпрджрд┐ рдпрд╣ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрдкрддреНрддрд┐ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдПред рдЯреИрдмреНрдмрд░-рд▓рд┐рд╡реЗрд╕реНрдЯреНрд░реАрдо ), рдФрд░ рдпрджрд┐ рдпрд╣ рд╣реИ, рддреЛ рд╣рдо рдЗрд╕реЗ рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реИрдВ
- рдпрджрд┐ рдпрд╣ AB рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдПрдХ рдкреНрд░рдХрд╛рд░ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдкреНрд░рдпреЛрдЧ / tabbar-livestream [variant] ) рддреЛ рд╣рдо рдЗрд╕рдХреЗ рдЖрдзрд╛рд░, рд╕рдВрдкрддреНрддрд┐ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, tabbar-) рдХреЗ рд╕рдВрдкрддреНрддрд┐ abtests рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдирд╛рдо, рдкрде, AB рдкрд░реАрдХреНрд╖рдг рдФрд░ рднрд┐рдиреНрди рдирд╛рдо рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ livestream ), рдФрд░ рдлрд┐рд░ рд╣рдо рд╕реВрдЪреА / рдСрдмреНрдЬреЗрдХреНрдЯ (рдХреЗрд╡рд▓ "рдЖрдзрд╛рд░" рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИ) рд╕реЗ рднрд┐рдиреНрди рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЛ рд╣рдЯрд╛рддреЗ рд╣реИрдВ;
- рдпрджрд┐ рдпрд╣ "рднреВрдд" рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рддреЛ рд╣рдо рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рдЯрд╛ рджреЗрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рд╕реВрдЪреА / рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЛ рд╣рдЯрд╛ рджреЗрддреЗ рд╣реИрдВред
рдПрдХ рдмрд╛рд░ рд▓реВрдк рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╢рдмреНрджрдХреЛрд╢ рдореЗрдВ рд╕рднреА рдФрд░ рдХреЗрд╡рд▓ "рдЖрдзрд╛рд░" рдЖрдЗрдХрди (рдФрд░ рдЙрдирдХреЗ рдПрдмреА рдкрд░реАрдХреНрд╖рдг, рдпрджрд┐ рдкреНрд░рдпреЛрдЧ рдХреЗ рддрд╣рдд) рдХреА рд╕реВрдЪреА рд╣реЛрдЧреАред рдЗрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдирд╛рдо, рдЖрдХрд╛рд░, рдкрде рд╣реЛрдЧрд╛ рдФрд░, рдпрджрд┐ рдХреЛрдИ рдЖрдЗрдХрди рдПрдмреА рдкрд░реАрдХреНрд╖рдг рдХреЗ рддрд╣рдд рд╣реИ, рддреЛ рдкрд░рд┐рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рдЬрд╛рдирдХрд╛рд░реАред
рдпрд╣ рд╢рдмреНрджрдХреЛрд╢ рддрдм JSON рдкреНрд░рд╛рд░реВрдк рдореЗрдВ
рдмреНрд░рд╛рдВрдб рдФрд░
рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдЧрдВрддрд╡реНрдп рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рддрд╛
рд╣реИ ред рдпрд╣рд╛рдБ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рдореЛрдмрд╛рдЗрд▓ рд╡реЗрдм" рдкрд░ "рдмреНрд▓реЗрдВрдбрд░" рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдмрдирд╛рдИ рдЧрдИ
рд╕рдВрдкрддреНрддрд┐ редjson рдлрд╝рд╛рдЗрд▓ рд╣реИ:
{ "platform": "mw", "brand": "blendr", "assets": { "badge-feature-like": { "assetname": "badge-feature-like", "path": "assets/badge-feature-like.jsx", "width": 64, "height": 64, "source": "icons_common" }, "navigation-bar-edit": { "assetname": "navigation-bar-edit", "path": "assets/navigation-bar-edit.jsx", "width": 48, "height": 48, "source": "icons_common" }, "tabbar-livestream": { "assetname": "tabbar-livestream", "path": "assets/tabbar-livestream.jsx", "width": 128, "height": 128, "source": "icons_blendr", "abtest": { "this__is_an_experiment": { "control": "assets/this__is_an_experiment/tabbar-livestream__control.jsx", "variant1": "assets/this__is_an_experiment/tabbar-livestream__variant1.jsx", "variant2": "assets/this__is_an_experiment/tabbar-livestream__variant2.jsx" }, "a_second-experiment": { "control": "assets/a_second-experiment/tabbar-livestream__control.jsx", "variantA": "assets/a_second-experiment/tabbar-livestream__variantA.jsx" } } }, ... } }
рдмрд╣реБрдд рдЕрдВрддрд┐рдо рдЪрд░рдг рдореЗрдВ рд╕рднреА
рд╕рдВрдкрддреНрддрд┐ рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░рдирд╛ рд╣реИред рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ
рдЬрд╝рд┐рдк рдХрд░реЗрдВ, рддрд╛рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЕрдзрд┐рдХ рдЖрд╕рд╛рдиреА рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред
рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо
рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ - рд╕реНрдХреЗрдЪ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХреНрд▓реЛрдирд┐рдВрдЧ рдФрд░ рд╣реЗрд░рдлреЗрд░ рд╕реЗ, рдкреНрд░рддреНрдпреЗрдХ рд╕рдорд░реНрдерд┐рдд рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рд╡рд╛рдВрдЫрд┐рдд рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдирд┐рд░реНрдпрд╛рдд (рдФрд░ рд░реВрдкрд╛рдВрддрд░рдг) рд╕реЗ, рдПрдХ рдкрд░рд┐рд╕рдВрдкрддреНрддрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдПрдХрддреНрд░ рдореЗрдЯрд╛-рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рднрдВрдбрд╛рд░рдг рдХреЗ рд▓рд┐рдП - рд╣реИ рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдШреЛрд╖рд┐рдд рдкреНрд░рддреНрдпреЗрдХ рдмреНрд░рд╛рдВрдб рдХреЗ рд▓рд┐рдП рджреЛрд╣рд░рд╛рдпрд╛ рдЧрдпрд╛ред
рдиреАрдЪреЗ рдПрдХ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд╣реИ рдЬреЛ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреВрд░реА рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж
src рдФрд░
dist рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреИрд╕реА рджрд┐рдЦрддреА рд╣реИ:
рдмрд┐рд▓реНрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж "src" рдФрд░ "dist" рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХреА рд╕рдВрд░рдЪрдирд╛редрдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЖрджреЗрд╢ рдХреЗ рд╕рд╛рде рд╕рднреА рд╕рдВрд╕рд╛рдзрдиреЛрдВ (JSON рдлрд╝рд╛рдЗрд▓реЛрдВ, рдЬрд╝рд┐рдк рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рд╕рдВрдкрддреНрддрд┐ рдлрд╝рд╛рдЗрд▓реЛрдВ) рдХреЛ рджреВрд░рд╕реНрде рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЕрдкрд▓реЛрдб рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рдХреЛрдбрдмреЗрд╕ рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдЙрдкрднреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдирд╛ рд╣реИред
(рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреИрд╕реЗ рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдФрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИ - рдХрд╕реНрдЯрдо рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреЛ рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рддрджрд░реНрде рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ - рдЗрд╕ рд▓реЗрдЦ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдкрд░реЗ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рд╢рд╛рдпрдж рдЕрдиреНрдп рд╕рдорд░реНрдкрд┐рдд рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯреЛрдВ рдореЗрдВ рдмрд╣реБрдд рдЬрд▓реНрдж рд╣реА рдХрд╡рд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдПрдХ рдХреЗ рдмрд╛рдж рдПрдХред рдЕрдиреНрдп рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЗрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдореЗрд░реЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ)ред
рдирд┐рд╖реНрдХрд░реНрд╖ (рдФрд░ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рд╕реАрдЦрд╛ рд╕рдмрдХ)
рдореИрдВрдиреЗ рд╣рдореЗрд╢рд╛
рд╕реНрдХреЗрдЪ рд╕реЗ рдкреНрдпрд╛рд░ рдХрд┐рдпрд╛ рд╣реИред рд╕рд╛рд▓реЛрдВ рд╕реЗ рдпрд╣ рд╡реЗрдм рдФрд░ рдРрдк рдбрд┐рдЬрд╝рд╛рдЗрди (рдФрд░ рд╡рд┐рдХрд╛рд╕) рдХреЗ рд▓рд┐рдП "рдбреЗ-рдлреИрдХреНрдЯреЛ" рд╡рд┐рдХрд▓реНрдк рд╣реИред рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ
html-sketchapp рдпрд╛ рдЗрд╕реА рддрд░рд╣ рдХреЗ рдФрдЬрд╛рд░реЛрдВ рдЬреИрд╕реЗ рд╕рдВрднрд╛рд╡рд┐рдд рдПрдХреАрдХрд░рдг рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдкреА рдФрд░ рдЙрддреНрд╕реБрдХрддрд╛ рдереА, рдЯреЛрдкреА рдЬреЛ рд╣рдо рдЕрдкрдиреЗ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдФрд░ рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣ (рдЖрджрд░реНрд╢) рдкреНрд░рд╡рд╛рд╣ рд╣рдореЗрд╢рд╛
рдореЗрд░реЗ (
рдФрд░ рдХрдИ рдЕрдиреНрдп ) рдХреЗ
рд▓рд┐рдП рдкрд╡рд┐рддреНрд░ рдХрдмреНрд░ рд░рд╣рд╛ рд╣реИ :

рдПрдХ рдбрд┐рдЬрд╝рд╛рдЗрди рдЯреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдХреЗрдЪ рдХреЛ рдХреЛрдбрдмреЗрд╕ рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд "рд▓рдХреНрд╖реНрдп" рдХреЗ рд░реВрдк рдореЗрдВ рдХрд▓реНрдкрдирд╛ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред
рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╣ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЖрд╢реНрдЪрд░реНрдп рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╕реНрдХреЗрдЪ рдЕрднреА рднреА рд╕рд╣реА рдЙрдкрдХрд░рдг рдерд╛, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдХ рдбрд┐рдЬрд╝рд╛рдЗрди рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВред рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рд░рд┐рдПрдХреНрдЯ рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдПрдХреАрдХрд░рдг рдХреЗ рд╕рд╛рде, рдЕрдкрдиреЗ рдЦреБрд▓реЗ рдПрдкреАрдЖрдИ рдФрд░
рдлреНрд░реИрдорд░ рдПрдХреНрд╕ рдХреЗ рд╕рд╛рде
рдлрд┐рдЧрдорд╛ рдЬреИрд╕реЗ рдирдП рдЯреВрд▓ рдХреА рдЦреЛрдЬ рд╢реБрд░реВ рдХреА, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рд╕реНрдХреЗрдЪ рд╕реЗ рдХреЛрдб (рдЬреЛ рднреА рдХреЛрдб рд╣реЛ) рдХреЗ рдПрдХреАрдХрд░рдг рдХреА рдУрд░ рдмрдврд╝рдиреЗ рдХреЗ рдмрд░рд╛рдмрд░ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЛ рдирд╣реАрдВ рджреЗрдЦ рд░рд╣рд╛ рдерд╛ред
рдЦреИрд░, рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдиреЗ рдореЗрд░рд╛ рд╡рд┐рдЪрд╛рд░ рдмрджрд▓ рджрд┐рдпрд╛ред рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдмрд╣реБрдд рдХреБрдЫред
рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕реНрдХреЗрдЪ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рдЕрдкрдиреЗ рдПрдкреАрдЖрдИ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЕрдкрдиреА рдлрд╛рдЗрд▓реЛрдВ рдХреА рдЖрдВрддрд░рд┐рдХ рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рд╣реИ, рд╡рд╣ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ "рдЕрдиреМрдкрдЪрд╛рд░рд┐рдХ" рдПрдкреАрдЖрдИ рд╣реИред рд╡реЗ рдХреНрд░рд┐рдкреНрдЯрд┐рдХ рдирд╛рдореЛрдВ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░ рд╕рдХрддреЗ рдереЗ, рдпрд╛ JSON рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдореЗрдВ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рдереЗ; рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрдХ рд╕реНрдкрд╖реНрдЯ, рдЖрд╕рд╛рдиреА рд╕реЗ рдкрдврд╝реЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ, рдорд╛рдирд╡-рдкрдврд╝рдиреЗ рдпреЛрдЧреНрдп, рд╢рдмреНрджрд╛рд░реНрде рдирд╛рдордХрд░рдг рд╕рдореНрдореЗрд▓рди рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдЪреБрдирд╛ рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдЖрдХрд╕реНрдорд┐рдХ рд╣реИред
рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рд╕реНрдХреЗрдЪ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдиреЗ рдореЗрд░реЗ рджрд┐рдорд╛рдЧ рдХреЛ рд╕рдВрднрд╛рд╡рд┐рдд рднрд╡рд┐рд╖реНрдп рдХреЗ рд╡рд┐рдХрд╛рд╕ рдФрд░ рд╕реБрдзрд╛рд░реЛрдВ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдЦреЛрд▓ рджреА рд╣реИред рдорд╛рдЙрд╕ рдХреЗ рд▓рд┐рдП рдкрд░рддреЛрдВ рдХреЗ рдирд╛рдордХрд░рдг, рд╕реНрдЯрд╛рдЗрд▓рд┐рдВрдЧ рдФрд░ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдорд╛рдиреНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╕реЗ, рд╣рдорд╛рд░реЗ рд╡рд┐рдХреА рдФрд░ рд╣рдорд╛рд░реЗ рдбрд┐рдЬрд╛рдЗрди рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд▓реЗрдЦрди (рджреЛрдиреЛрдВ рджрд┐рд╢рд╛рдУрдВ рдореЗрдВ) рдХреЗ рд╕рд╛рде рд╕рдВрднрд╡ рдПрдХреАрдХрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рдпрд╛
рдХрд╛рд░реНрд▓реЛ рдореЗрдВ рд╣реЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рдиреЛрдб рдРрдкреНрд╕ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдИ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдПред рджреЛрд╣рд░рд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдп рдЬрд┐рдиреНрд╣реЗрдВ рдбрд┐рдЬрд╛рдЗрдирд░реЛрдВ рдХреЛ рдХрд░рдирд╛ рд╣реИред
рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдПрдХ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдмреЛрдирд╕ (рдХрдо рд╕реЗ рдХрдо, рдореЗрд░реЗ рд▓рд┐рдП) рдпрд╣ рд╣реИ рдХрд┐ рдЕрдм "рдХреЙрд╕реНрдореЙрд╕ рдЖрдЗрдХрди" рдХреЗ рд╕рд╛рде рд╕реНрдХреЗрдЪ рдлрд╛рдЗрд▓реЗрдВ рдПрдХ "рд╕рдЪреНрдЪрд╛рдИ рдХрд╛ рд╕реНрд░реЛрдд" рдмрди рдЧрдИ рд╣реИрдВ, рдЗрд╕реА рддрд░рд╣
рдХреЙрд╕реНрдореЙрд╕ рдбрд┐рдЬрд╛рдЗрди рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рднреА рд╣реБрдЖред рдпрджрд┐ рдХреЛрдИ рдЖрдЗрдХрди рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ рдХреЛрдбрдмреЗрд╕ рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ (рдпрд╛ рдмреЗрд╣рддрд░ рд╣реИ, рдпрд╣ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдПрдХ рдЕрдкрд╡рд╛рдж рд╣реИ)ред рдореИрдВ рдЬрд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдЕрдм рд╕реНрдкрд╖реНрдЯ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо рдкрд╣рд▓реЗ рдирд╣реАрдВ рдерд╛ред
рдПрдорд╡реАрдкреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЧрдпрд╛, рдЬрд▓реНрдж рд╣реА рд╕реНрдХреЗрдЪ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдЖрдВрддрд░рд┐рдХ рдореЗрдВ рдПрдХ рдЧрд╣рд░рд╛-рдЧреЛрддрд╛ (рд╢рд╛рдмреНрджрд┐рдХ) рдмрди рдЧрдпрд╛, рдЗрд╕ рдПрд╣рд╕рд╛рд╕ рдХреЗ рд╕рд╛рде рдХрд┐ рдЗрди рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рдореЗрдВ рдЕрднреА рддрдХ рдирд╣реАрдВ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдм рдХрд╣рд╛рдВ рддрдХ тАЛтАЛрд▓реЗ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдпрд╣ рд╕рдлрд▓ рд░рд╣рд╛ рд╣реИред рдбрд┐рдЬрд╛рдЗрдирд░, рдбреЗрд╡рд▓рдкрд░реНрд╕, рдкреАрдПрдо рдФрд░ рд╣рд┐рддрдзрд╛рд░рдХ, рд╕рднреА рд╕рд╣рдордд рд╣реИрдВ рдХрд┐ рдпрд╣ рд╕рднреА рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рдореИрдиреБрдЕрд▓ рдХрд╛рдо рдХреЛ рдмрдЪрд╛рдиреЗ рдФрд░ рдмрд╣реБрдд рд╕рд╛рд░реА рд╕рдВрднрд╛рд╡рд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛ рд░рд╣рд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдЙрди рдЖрдЗрдХрдиреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рджрд░рд╡рд╛рдЬреЗ рднреА рдЦреЛрд▓ рджреЗрдЧрд╛ рдЬреЛ рдЕрдм рддрдХ рдЕрд╕рдВрднрд╡ рдереЗред
рдПрдХ рдЖрдЦрд┐рд░реА рдмрд╛рдд: рдореИрдВрдиреЗ рдЗрд╕ рд▓рдВрдмреА рдкреЛрд╕реНрдЯ рдореЗрдВ рдЬреЛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рд╣реИ рд╡рд╣ рдПрдХ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╣реИ рдЬрд┐рд╕реЗ рд╣рдордиреЗ
рдЕрдкрдиреА рд╡рд┐рд╢реЗрд╖ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдмрдирд╛рдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдпрд╣
рд╣рдорд╛рд░реЗ рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рд╕реБрдкрд░-рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИред рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдпрд╣
рдЖрдкрдХреА рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд░реВрдк рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛
рдЖрдкрдХреЗ рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИред
рд▓реЗрдХрд┐рди рдЬреЛ рдореЗрд░реЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдФрд░ рдЬреЛ рдореИрдВ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╢рд╛рдпрдж рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рд╕реЗ, рдЕрд▓рдЧ-рдЕрд▓рдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдФрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рд╛рд░реВрдкреЛрдВ рдХреЗ рд╕рд╛рде, рд╢рд╛рдпрдж рдХрдо рдЬрдЯрд┐рд▓рддрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ (рдпрд╛рдиреА: рдЖрдкрдХреЛ рдорд▓реНрдЯреА-рдмреНрд░рд╛рдВрдбрд┐рдВрдЧ рдФрд░ рдПрдмреА рдкрд░реАрдХреНрд╖рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИ)ред рд▓реЗрдХрд┐рди рдЕрдм рдЖрдк рдЕрдкрдиреЗ рдЖрдЗрдХреЙрди рдХреЛ рдХрд╕реНрдЯрдо Node.js рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рд╕реНрдХреЗрдЪ рдХреЗ рд╕рд╛рде рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕реЗ рдХрд░рдиреЗ рдХрд╛ рдЕрдкрдирд╛ рддрд░реАрдХрд╛ рдЦреЛрдЬреЗрдВред рдпрд╣ рдордЬрд╝реЗрджрд╛рд░ (рдФрд░ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЖрд╕рд╛рди) рд╣реИред
рдХреНрд░реЗрдбрд┐рдЯ
рдЗрд╕ рд╡рд┐рд╢рд╛рд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ
рдирд┐рдЦрд┐рд▓ рд╡рд░реНрдорд╛ (рдореЛрдмрд╛рдЗрд▓ рд╡реЗрдм) рдХреЗ рд╕рд╣рдпреЛрдЧ рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдкрд╣рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдпрд╛, рдФрд░
рдЖрд░реНрдЯреЗрдо рд░реБрджреЛрдИ (рдПрдВрдбреНрд░реЙрдЗрдб) рдФрд░
рдЗрдЧреЛрд░ рд╕реЗрд╡рд▓реЗрд╡ (рдЖрдИрдУрдПрд╕), рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЙрди рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬреЛ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдореЗрдВ рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рд╕рдВрдмрдВрдзрд┐рдд рджреЗрд╢реА рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдоред рдзрдиреНрдпрд╡рд╛рдж, рджреЛрд╕реНрддреЛрдВ, рдпрд╣ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдЖрдкрдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рдзрдорд╛рдХрд╛ рдерд╛ рдФрд░ рдЗрд╕реЗ рдЖрдк рдЬреАрд╡рди рдореЗрдВ рдЖрддреЗ рд╣реИрдВред