Skip to content

Instantly share code, notes, and snippets.

@coolstar
Last active July 8, 2019 00:21
Show Gist options
  • Save coolstar/36582a26d785f8bd69fbf3d71fa63484 to your computer and use it in GitHub Desktop.
Save coolstar/36582a26d785f8bd69fbf3d71fa63484 to your computer and use it in GitHub Desktop.
Sileo Depiction Raw Docs (Pseudocode)
//Syntax Basics
@class ClassName extends ParentClass <Protocol1,Protocol2>
@property (attributes) ClassOrTypeName<Protocol1,Protocol2> nameOfProperty;
@property (attributes) Array[Type In array] nameOfProperty;
@property StringEnum<Possible Value1, Possible Value2>] nameOfProperty;
@end
@protocol Protocol1
@property ClassOrTypeName<Protocol1,Protocol2> nameOfProperty;
@property Array[Type In array] nameOfProperty;
@property StringEnum[Possible Value1, Possible Value2] nameOfProperty;
@end
//Integer Enums
enum AlignEnum {
AlignEnumLeft = 0,
AlignEnumCenter = 1,
AlignEnumRight = 2
};
//Start Raw Docs
@protocol DepictionRootView //Only DepictionTabView can be used as root
@property (required) String minVersion;
@property URL headerImage;
@end
@class DepictionBaseView //Note: This class will not initialize directly, you must use a subclass
@property (required) String class;
@property String tintColor; //CSS color
@end
@class DepictionAdmobView extends DepictionBaseView
@property (required, whitelisted) String adUnitID;
@property StringEnum[LargeBanner,Banner,SmartBanner] adSize;
@end
@protocol DepictionAutoStackViewObject
@property (required) Double preferredWidth;
@end
@class DepictionAutoStackView extends DepictionBaseView
@property (required) Array[DepictionBaseView <DepictionAutoStackViewObject>] views;
@property (required) Double horizontalSpacing;
@end
@class DepictionButtonView extends DepictionBaseView
@property (required) String text;
@property (required) String action;
@property String backupAction;
@property Double yPadding;
@property Bool openExternal;
@end
@class DepictionHeaderView extends DepictionBaseView
@property (required) String title;
@property Bool useMargins;
@property Bool useBottomMargin;
@property Bool useBoldText;
@property AlignEnum alignment;
@end
@class DepictionImageView extends DepictionBaseView
@property (required) URL URL;
@property (required) Double width;
@property (required) Double height;
@property (required) Double cornerRadius;
@property AlignEnum alignment;
@property Double horizontalPadding;
@end
@class DepictionLabelView extends DepictionBaseView
@property (required) String text;
@property UIEdgeInsets margins; // String "{top, left, bottom, right}"
@property BOOL useMargins;
@property BOOL usePadding;
@property String fontWeight;
@property Double fontSize;
@property String textColor; //CSS Color
@property AlignEnum alignment;
@end
@class DepictionMarkdownView extends DepictionBaseView
@property (required) String markdown;
@property BOOL useSpacing;
@property BOOL useMargins;
@end
@class DepictionMinVersionForceView extends DepictionBaseView
@property (required) DepictionBaseView view;
@property (required) String minVersion;
@end
@class DepictionRatingView extends DepictionBaseView
@property (required) AlignEnum alignment;
@property (required) Double rating; //This goes from 0 to 5 for stars
@end
@class DepictionReviewView extends DepictionBaseView //This internally uses DepictionStackView's, DepictionSubheaderView, DepictionRatingView and DepictionMarkdownView
@property (required) String title;
@property (required) String author;
@property (required) String markdown;
@property Double rating; //This goes from 0 to 5 for stars
@end
@class ScreenshotObject
@property (required) URL url;
@property (required) String accessibilityText;
@property BOOL video;
@end
@class DepictionScreenshotsView extends DepictionBaseView
@property DepictionScreenshotsView iphone; //Initialize class using this property instead if on iPhone
@property DepictionScreenshotsView ipad; //Initialize class using this property instead if on iPad
@property (required) String itemSize;
@property (required) Double itemCornerRadius;
@property (required) Array<ScreenshotObject> screenshots;
@end
@class DepictionSeparatorView extends DepictionBaseView
@end
@class DepictionSpacerView extends DepictionBaseView
@property Double spacing;
@end
@class DepictionStackView extends DepictionBaseView
@property (required) Array[DepictionBaseView] views;
@end
@class DepictionStackView extends DepictionBaseView
@property (required) Array[DepictionBaseView] views;
@property StringEnum[landscape,portrait] orientation;
@property String backgroundColor; //CSS color
@property Double xPadding;
@end
@class DepictionSubheaderView extends DepictionHeaderView
@end
@property TabItem
@property (required) String tabname;
@end
@class DepictionTabView extends DepictionBaseView
@property (required) Array[DepictionBaseView<TabItem>] tabs;
@end
@class DepictionTableButtonView extends DepictionBaseView
@property (required) String text;
@property (required) String action;
@property String backupAction;
@property Bool openExternal;
@end
@class DepictionTableTextView extends DepictionBaseView
@property (required) String title;
@property (required) String text;
@end
@class DepictionVideoView extends DepictionBaseView
@property (required) URL url;
@property (required) Double width;
@property (required) Double height;
@property (whitelisted) BOOL autoplay;
@property (whitelisted) BOOL showPlaybackControls; //Requires autoplay=yes
@property Double cornerRadius;
@property AlignEnum alignment;
@end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment